webpack运行报错:Cannot read property 'createResolver' of undefined 求助
解决Webpack运行时“无法读取未定义对象的属性'createResolver'”错误
首先先明确你遇到的完整报错信息:
C:\Users\VM-OUT-Kramar-YA_ALL\OPERATION\bfs-bvfo-br-pl\node_modules\webpack-dev-server\bin\webpack-dev-server.js:373 throw e; 类型错误:无法读取未定义对象的属性 'createResolver' 位于 WebpackOptionsApply.process (C:\Users\VM-OUT-Kramar-YA_ALL\OPERATION\bfs-bvfo-br-pl\node_modules\webpack\lib\WebpackOptionsApply.js:283:46) 位于 webpack (C:\Users\VM-OUT-Kramar-YA_ALL\OPERATION\bfs-bvfo-br-pl\node_modules\webpack\lib\webpack.js:37:48) 位于 startDevServer (C:\Users\VM-OUT-Kramar-YA_ALL\OPERATION\bfs-bvfo-br-pl\node_modules\webpack-dev-server\bin\webpack-dev-server.js:367:16) 位于 processOptions (C:\Users\VM-OUT-Kramar-YA_ALL\OPERATION\bfs-bvfo-br-pl\node_modules\webpack-dev-server\bin\webpack-dev-server.js:350:5) 位于 Object. (C:\Users\VM-OUT-Kramar-YA_ALL\OPERATION\bfs-bvfo-br-pl\node_modules\webpack-dev-server\bin\webpack-dev-server.js:495:1) 位于 Module._compile (module.js:571:32) 位于 Object.Module._extensions..js (module.js:580:10) 位于 Module.load (module.js:488:32) 位于 tryModuleLoad (module.js:447:12) 位于 Function.Module._load (module.js:439:3) 位于 Module.runMain (module.js:605:10) 位于 run (bootstrap_node.js:427:7) 位于 startup (bootstrap_node.js:151:9) 位于 bootstrap_node.js:542:3
你的项目依赖版本:webpack: "3.10.0", webpack-dev-server: "2.11.2"
问题原因
这个错误的核心是webpack-dev-server和webpack的版本不兼容。你当前使用的webpack-dev-server 2.11.2版本,内部逻辑依赖了createResolver方法,但这个方法在webpack 3.x系列中还未被引入,或者说该版本的dev-server对webpack的版本要求更高,和你当前的webpack 3.10.0不匹配,导致调用未定义的方法抛出错误。
具体解决步骤
我给你整理了最直接有效的解决流程:
卸载当前不兼容的webpack-dev-server
在项目根目录的终端里执行:npm uninstall webpack-dev-server --save-dev安装与webpack 3.10.0适配的dev-server版本
经过社区验证,webpack 3.x最稳定适配的webpack-dev-server版本是2.9.7,执行安装命令:npm install webpack-dev-server@2.9.7 --save-dev清理缓存并重启服务
为了避免缓存导致的依赖问题,建议先清理旧依赖缓存再重装:# 删除node_modules和锁文件 rm -rf node_modules package-lock.json # 重新安装所有依赖 npm install之后再运行你项目的启动命令(比如
npm run dev),应该就能正常启动服务了。
如果还是有问题,可以检查下项目里其他webpack相关插件(比如webpack-cli)的版本是否也和webpack 3.x兼容,但大部分情况下,调整dev-server版本就能解决这个问题。
内容的提问来源于stack exchange,提问作者mariamelior
相关产品推荐
相关产品推荐

