Windows10安装Reactide运行webpack-production报模块未找到错误
报错根因
这个Cannot find module 'vs/editor/contrib/gotoSymbol/goToCommands'报错是monaco-editor和monaco-editor-webpack-plugin版本不兼容导致的。Reactide 3.0-release分支默认的依赖配置没有锁死这两个包的匹配版本,npm安装时会拉取存在路径冲突的版本组合:高版本monaco-editor调整了内部模块的存放路径,但对应版本的webpack插件还在引用旧路径,直接导致模块解析失败。
可落地解决步骤
- 先清理旧依赖缓存,在项目根目录执行以下命令:
:: 删除已安装的依赖目录 rd /s /q node_modules :: 删除旧的依赖锁文件 del package-lock.json
- 打开项目根目录的
package.json文件,找到dependencies配置块,把monaco-editor和monaco-editor-webpack-plugin的版本固定为兼容组合:
"monaco-editor": "0.21.2", "monaco-editor-webpack-plugin": "2.1.0"
这组版本完全适配Reactide 3.0的代码逻辑,不存在内部模块路径不匹配的问题,不要随意升级这两个包到最新版,高版本的API和路径改动和现有代码不兼容。
- 重新安装依赖,注意不要用cnpm,cnpm的软链接结构会额外导致monaco内部路径解析异常,直接用官方npm源执行:
npm install
- 依赖安装完成后,重新执行打包命令即可:
npm run webpack-production
补充排错点
- 如果安装依赖时出现node-gyp编译报错,用管理员权限打开cmd,先执行
npm install -g windows-build-tools安装Windows平台编译依赖,再重新执行npm install。 - 如果还是提示模块找不到,检查npm缓存是否异常,执行
npm cache clean --force清理缓存后再重新安装依赖。
内容的提问来源于stack exchange,提问作者gks
相关产品推荐
相关产品推荐

