Webpack 1升级至Webpack 2时出现debug配置错误求助
解决Webpack 2升级后的WebpackOptionsValidationError问题
嘿,这个问题我升级Webpack的时候也踩过坑!Webpack 2直接移除了debug这个配置项,所以你原来Webpack 1里写的debug: true/false就变成了未知属性,直接触发配置验证错误了。
解决起来很简单,分两步走:
删掉
debug属性
直接找到你webpack.config.js里的debug那一行,删掉它就行——Webpack 2已经不再需要这个配置了。替代原来
debug的调试功能
如果你之前开debug是为了让代码更便于调试(比如保留源码结构、生成source map),可以用Webpack 2的新配置来替代:- 要生成source map的话,直接配置
devtool属性就行:开发环境推荐用devtool: 'eval-source-map',既能保证编译速度又能看到完整源码;生产环境可以用devtool: 'source-map',生成独立的source map文件。 - 如果是控制代码压缩的调试信息,生产环境用
UglifyJsPlugin的时候,通过插件参数来配置:const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); module.exports = { // 其他配置... plugins: [ new UglifyJsPlugin({ sourceMap: true, // 保留source map方便调试 compress: { warnings: false // 关闭压缩时的警告信息 } }) ] };
- 要生成source map的话,直接配置
给你举个修改前后的例子:
原来的配置片段:
module.exports = { debug: true, // 其他配置... };
修改后的配置:
module.exports = { devtool: 'eval-source-map', // 替代debug的调试功能 // 其他配置... };
另外,Webpack 2还有不少和Webpack 1差异的地方,如果之后再碰到类似的属性错误,可以去官方迁移文档里找找对应替代方案哦。
内容的提问来源于stack exchange,提问作者Kate
相关产品推荐
相关产品推荐

