使用webpack4.2.0执行run start时出现编译错误求助
解决 Webpack 4.2.0 执行
run start 时的两个问题 先把你遇到的错误信息贴出来方便对照:
配置警告:未设置'mode'选项,请将'mode'选项设置为'development'或'production'以启用对应环境的默认配置。
模块错误:multi (webpack)-dev-server/client?http://localhost:8001 ./src
模块未找到:无法在'/Users/xudengwei/projects/xudengwei/myOpenGithub/angular5-scaffold'路径下解析'./src'
@ multi (webpack)-dev-server/client?http://localhost:8001 ./src
ℹ 「wdm」: 编译失败。
接下来分两步逐一解决:
1. 处理 mode 选项未设置的警告
Webpack 4 开始引入了 mode 核心配置项,它会根据你设置的值自动启用对应环境的优化策略(比如开发环境保留源码注释、生产环境自动压缩代码),所以这个警告必须处理,有两种简单方式:
方式一:在 webpack.config.js 中配置
打开项目根目录下的 webpack.config.js(没有的话直接新建一个),添加 mode 字段:
module.exports = { mode: 'development', // 开发环境用这个,生产环境换成 'production' // 其他配置项(比如入口、输出规则等)... };
方式二:在 package.json 的 scripts 里直接指定
如果不想修改配置文件,也可以在启动命令里追加 --mode 参数,比如把你的 start 命令改成:
{ "scripts": { "start": "webpack-dev-server --mode development --open" } }
2. 解决 ./src 模块未找到的错误
这个错误说明 Webpack 在你指定的项目根目录下找不到 ./src 对应的入口资源,你需要检查以下几点:
- 确认
src文件夹和入口文件是否存在:先去项目根目录看看有没有src文件夹,里面是否有 Webpack 默认期望的入口文件(比如index.js)。如果没有,手动创建src文件夹,并在里面新建index.js(可以先写个简单的console.log('Hello Webpack')测试)。 - 检查 Webpack 入口配置是否正确:如果你的入口文件不是默认的
./src/index.js,需要在webpack.config.js里修改entry字段,比如:
module.exports = { entry: './path/to/your/actual-entry-file.js', // 替换成你真实的入口文件路径 mode: 'development', // 其他配置... };
- 检查启动命令里的入口参数:如果你的
start命令里直接指定了./src作为入口,但实际你的入口路径不同,需要修改package.json里的 scripts 命令,把./src换成你真实的入口文件路径。
完成以上两步后,重新执行 npm run start,应该就能正常编译运行了。
内容的提问来源于stack exchange,提问作者frankshin
相关产品推荐
相关产品推荐

