mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2026-01-11 17:04:13 +00:00
3.9 KiB
3.9 KiB
Monaco Editor NPM包配置说明
✅ 已完成的配置
1. NPM包安装
已在 package.json 中安装:
monaco-editor: ^0.55.1 - Monaco Editor核心包@monaco-editor/loader: ^1.4.0 - Monaco Editor加载器monaco-editor-webpack-plugin: ^7.1.1 - Webpack打包插件(devDependencies)
2. Webpack配置
在 vue.config.js 中已配置:
new MonacoEditorPlugin({
languages: ['javascript', 'typescript', 'json'],
features: ['coreCommands', 'find'],
publicPath: process.env.NODE_ENV === 'production' ? './' : '/'
})
3. 组件配置
在 MonacoEditor.vue 和 Playground.vue 中已配置:
// 配置loader使用本地打包的文件,而不是CDN
if (loader.config) {
const vsPath = process.env.NODE_ENV === 'production'
? './js/vs' // 生产环境使用相对路径
: '/js/vs'; // 开发环境使用绝对路径
loader.config({
paths: {
vs: vsPath
}
});
}
🔍 工作原理
打包流程
monaco-editor-webpack-plugin在构建时将 Monaco Editor 文件打包到js/vs/目录@monaco-editor/loader通过配置的路径加载本地文件- 不再从 CDN(如
https://cdn.jsdelivr.net)加载
文件结构(构建后)
nfd-front/
├── js/
│ └── vs/
│ ├── editor/
│ ├── loader/
│ ├── base/
│ └── ...
└── index.html
🧪 验证方法
1. 检查网络请求
打开浏览器开发者工具 → Network标签:
- ✅ 应该看到请求
/js/vs/...或./js/vs/... - ❌ 不应该看到请求
cdn.jsdelivr.net或其他CDN域名
2. 检查构建产物
cd web-front
npm run build
ls -la nfd-front/js/vs/
应该看到 Monaco Editor 的文件被打包到本地。
3. 离线测试
- 断开网络连接
- 访问 Playground 页面
- ✅ 编辑器应该正常加载(因为使用本地文件)
- ❌ 如果使用CDN,编辑器会加载失败
📝 修改的文件
-
✅
web-front/src/components/MonacoEditor.vue- 添加了
loader.config()配置,明确使用本地路径
- 添加了
-
✅
web-front/src/views/Playground.vue- 在
initMonacoTypes()中添加了相同的配置
- 在
-
✅
web-front/vue.config.js- 添加了
publicPath配置,确保路径正确
- 添加了
🚀 部署
开发环境
cd web-front
npm install # 确保依赖已安装
npm run serve
访问 http://127.0.0.1:6444/playground,编辑器应该从本地加载。
生产环境
cd web-front
npm run build
构建后,Monaco Editor 文件会打包到 nfd-front/js/vs/ 目录。
⚠️ 注意事项
1. 文件大小
Monaco Editor 打包后会增加构建产物大小(约2-3MB),但这是正常的。
2. 首次加载
- 开发环境:文件从 webpack dev server 加载
- 生产环境:文件从本地
js/vs/目录加载
3. 缓存
浏览器会缓存 Monaco Editor 文件,更新后可能需要清除缓存。
🔧 故障排查
问题:编辑器无法加载
检查:
- 确认
npm install已执行 - 检查浏览器控制台是否有错误
- 检查 Network 标签,确认文件路径是否正确
问题:仍然从CDN加载
解决:
- 清除浏览器缓存
- 确认
loader.config()已正确配置 - 检查
vue.config.js中的publicPath配置
问题:构建后路径错误
解决:
- 检查
publicPath配置 - 确认生产环境的相对路径
./js/vs正确
✅ 优势
- 离线可用 - 不依赖外部CDN
- 加载速度 - 本地文件通常比CDN更快
- 版本控制 - 使用固定版本的Monaco Editor
- 安全性 - 不依赖第三方CDN服务
- 稳定性 - CDN故障不影响使用
配置状态: ✅ 已完成
验证状态: ⚠️ 待测试
建议: 运行 npm run build 并检查构建产物