新建 libs/codemirror-editor(pnpm/Vite IIFE/@catppuccin/codemirror Catppuccin Latte+Mocha 主题/@codemirror/lang-sql schema 补全/@replit/codemirror-vim), 输出 public/codemirror/。Rust 桥接 codemirror_bridge.rs 镜像 tiptap_bridge.rs (Reflect::get 取对象字面量 + EditorHandle 持有闭包 + Drop→destroy)。 接入 Makefile/Dioxus.toml/.gitignore。 注意:thememirror 不含 catppuccin 主题,改用官方 @catppuccin/codemirror@1.0.3 (导出 catppuccinLatte/catppuccinMocha)。
28 lines
813 B
TypeScript
28 lines
813 B
TypeScript
import { defineConfig } from 'vite';
|
||
import { resolve } from 'path';
|
||
|
||
export default defineConfig({
|
||
build: {
|
||
// 输出直写 public/codemirror/,Dioxus 直接托管,无需拷贝步骤。
|
||
outDir: resolve(__dirname, '../../public/codemirror'),
|
||
emptyOutDir: true,
|
||
lib: {
|
||
entry: resolve(__dirname, 'src/index.ts'),
|
||
// IIFE 产物挂在 window.CodeMirrorEditor 上,Rust 侧用 Reflect::get 取。
|
||
name: 'CodeMirrorEditor',
|
||
fileName: () => 'editor.js',
|
||
formats: ['iife'],
|
||
},
|
||
rolldownOptions: {
|
||
output: {
|
||
// 默认导出(对象字面量 { create() })成为 window.CodeMirrorEditor。
|
||
exports: 'default',
|
||
assetFileNames: 'editor.[ext]',
|
||
},
|
||
},
|
||
cssCodeSplit: false,
|
||
minify: true,
|
||
sourcemap: true,
|
||
},
|
||
});
|