测试兼容性
module.exports = {
// ...
node: {
Buffer: false,
process: false
}
};
如果出错需要更新node版本,当前使用的node版本为v14.0.0
。
注意: 测试完后需要清除这部分代码。
升级依赖包
- webpack: v4.x=> v5.x
- webpack-cli: v3.x => v4.x
升级过程中遇到的问题
1、npm run start 报错:
ValidationError: Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
- configuration.devtool should match pattern "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$".
BREAKING CHANGE since webpack 5: The devtool option is more strict.
Please strictly follow the order of the keywords in the pattern.
解决方式为更新其他依赖项:
- css-loader: 2.x => 5.x
- less-loader: 4.x => 8.x
- mini-css-extract-plugin: 0.x=> 1.x
2、npm run build 报错
[webpack-cli] [Error: EISDIR: illegal operation on a directory, open '/Users/baukh/work/GridManager/dist'] {
errno: -21,
code: 'EISDIR',
syscall: 'open',
path: '/Users/baukh/work/GridManager/dist'
}
这是因为copy-webpack-plugin在版本更新到7.*后,API有所变更导致的,解决方式为: 按新的API进行更新配置项。
3、npm run test 报错
这是因为karma-wepback@5.x
中默认开启了chunk, 可以通过karma-wepback
增加指定项进行解决:
optimization: {
runtimeChunk: false,
splitChunks: false
},
如需查看详情,可点击相关链接。
4、导入json文件报错
// 会发出警告
import { version } from './package.json';
// 需要替换为
import pak from './package.json';
const version = pak.version;
执行成功
当所有script全部执行成功后,查看通过webapck@5.x
构建的体积为: 83773
,较webpack@4.x
的84809
减少约1.2%。如果项目本身足够大,所节约的体积很是可观。
如果想查看详细的配置信息,可点击进入github进行查看。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!