webpack 3.1 升级webpack 4.0

为了提升打包速度以及跟上主流技术步伐,前段时间把项目的webpack 升级到4.0版本以上

webpack 官网:https://webpack.js.org/

正常操作升级webpack

  • 检查node、npm 版本,该升级的升级
  • 卸载webpack 旧版本,安装最新稳定版本 wepack、webpack cli
  • 遇到loader 报错,升级各种loader,其中vue-loader 参考vue loader 官网说明
  • 删除 ExtractTextPlugin插件,改用 MiniCssExtractPlugin
  • 配置各个环境的mode
  • 升级好之后继续优化,比如 gzip、happlyPack、dllplugin等等优化手段
  • 等等

通常上面的报错很容易找到解决方案

碰到的问题

1、安装了babel 最新版,但是一直提示加载的是之前的版本,babel 一直报错

通常这是因为之前babel 卸载的不完整导致的,先把babel 相关的插件全都卸载,然后在安装新版本的插件。

2、在路由index中提示组件加载失败或者提示路由动态加载模块失败

dynamic-import-webpack

完整babel 配置如下

{
"presets": ["@babel/preset-env"],
// "presets": [
// ["env", {
// "modules": false,
// "useBuiltIns": "entry"
// }],
// "@babel/preset-env"
// ],
"plugins": [
[
"@babel/plugin-transform-runtime",
{
"absoluteRuntime": false,
"corejs": false,
"helpers": true,
"regenerator": true,
"useESModules": false
}
],
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-object-rest-spread",
"transform-vue-jsx",
"dynamic-import-webpack",
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
],
"env": {
"test": {
"presets": ["env", "stage-2"],
"plugins": ["istanbul"]
}
}
}

3、Babel 7+使用babel-plugin-transform-vue-jsx报错的解决方法

"plugins": [
"@babel/plugin-transform-runtime",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-object-rest-spread",
"transform-vue-jsx"
]

4、webpack 最好是看官网,webpakc 中文网并没有完全同步过来。

5、最新的babel 插件都是在@babel/ 名称空间下

效果

很多loader、插件都升级到了最新版,在未升级之前发一次测试环境要7分钟以上。升级之后发一次测试环境大概2分钟到3分钟左右。这次升级主要还是为了vue3.0,哈哈。希望赶紧来吧vue3.0。

最新文章

  1. vs.net Web.csproj.webinfo文件
  2. Android之Activity的生命周期
  3. RDLC报表打印
  4. 关于TCP的粘包
  5. Struts1 标签库 说明
  6. 使用react native for android生成app
  7. Eclipse中Maven工程缺少Maven Dependencies
  8. d3.js <一>
  9. HDU 1423 Greatest Common Increasing Subsequence LCIS
  10. MATLAB-ginput函数问题
  11. [菜鸟弄nginx]nginx ---- 同一个server下根据host 配置不同的error_page页
  12. id,is的用法,小数据池的概念及编码知识进阶
  13. Hessian探究(一)Hessian与Spring结合
  14. 中文乱码总结之web乱码情景
  15. PHP批量保存图片
  16. iOS如何在应用中添加图标更换功能
  17. 学习完HTML后的5大测试题----9.18
  18. C++笔试题2(基础题)
  19. 解决: docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
  20. 【BZOJ】4380: [POI2015]Myjnie

热门文章

  1. 如何使能hyper-v的增强功能?
  2. 在mac中安装tmux
  3. ionic4.x网络请求
  4. openresty开发系列27--openresty中封装redis操作
  5. openresty开发系列14--lua基础语法3函数
  6. 003-结构型-06-组合模式(Composite)
  7. CM记录-CDH部署手册
  8. VS2010/VS2012/VS2015下openGL环境配置(转)
  9. npm publish 一直报错 404
  10. 随机采样一致算法RANSAC