# Vue3 Vite Monaco Editor
Monaco Editor 官方 rep: https://microsoft.github.io/monaco-editor/
## 整体链路
①创建vite项目
1. nvm use v18.20 确定node版本
2. 安装vite ~ `yarn create vite console --template vue`
3. 查看项目是否正常启动 `yarn run dev`
②安装monaco
1. 安装monaco => `yarn add monaco-editor@0.50.0`
2. 创建 `worker.js`
```
import * as monaco from 'monaco-editor';
import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
import CssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker';
import HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker';
import TsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker';
self.MonacoEnvironment = {
getWorker(_, label) {
if (label === 'json') {
return new JsonWorker();
}
if (label === 'css' || label === 'scss' || label === 'less') {
return new CssWorker();
}
if (label === 'html' || label === 'handlebars' || label === 'razor') {
return new HtmlWorker();
}
if (label === 'typescript' || label === 'javascript') {
return new TsWorker();
}
return new EditorWorker();
}
};
monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true);
```
3. main.js 引入 -> `import './worker.js'`
4. 创建组件 MonacoVite.vue 组件实现了双向绑定
```
```
5. 引入组件