webpack 3.1 升级webpack 4.0

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。

原文地址:https://www.cnblogs.com/CandyManPing/p/11075042.html

时间: 2024-10-12 02:35:47

webpack 3.1 升级webpack 4.0的相关文章

Webpack + Vue 多页面项目升级 Webpack 4 以及打包优化

0. 前言 早在 2016 年我就发布过一篇关于在多页面下使用 Webpack + Vue 的配置的文章,当时也是我在做自己一个个人项目时遇到的配置问题,想到别人也可能遇到跟我同样的问题,就把配置的思路分享出来了,传送门在这里. 因为那份配置直到现在还有人在关注,同时最近公司帮助项目升级了 Webpack 4,趁机也把之前的配置也升级了一下,而且博客荒废了这么久,都快 9102 年了,不能连年均一篇博文都不到,所以有了下面的分享. 下面的配置主要是给在多页面下使用 Webpack 的同学在升级

[Webpack] Use the Webpack Dashboard to Monitor Webpack Operations

Learn how to use the new Webpack Dashboard from Formidable Labs to display a pretty, useful output for monitoring the status of your webpack builds. This command line tool replaces the frequently unhelpful large text dump that webpack generates with

安装webpack后,执行webpack -v命令时报错:SyntaxError: Block-sc

安装webpack后,执行webpack -v命令时报错如下: [[email protected] ~]# webpack -v /usr/local/node-v4.4.7-linux-x64/lib/node_modules/webpack/bin/webpack.js:3 let webpackCliInstalled = false; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not

Webpack系列:在Webpack+Vue中如何将对后端的http请求转到https的后端服务器中?

在上一篇文章(Webpack系列:在Webpack+Vue开发中如何调用tomcat的后端服务器的接口?)我们介绍了如何将对于webpack-dev-server的数据请求转发到后端服务器上,这在大部分情况下就够用了. 然后现在问题又来了,在生产环境下接口一般采用https协议,如果我们要把数据请求转发到生产服务器上怎么办? 首先会想是不是把上一篇博文中提到的proxyTable改成https就可以了,如下:     proxyTable: {                '/appserve

zabbix2.2升级到3.0.4

需求:zabbix2.2升级到3.0.4 备注:zabbix 2.5之后对php有严格要求,php版本必须大于php5.4 php升级可以覆盖安装,也可以多处安装再选择,此处选择后者. 安装php5.6.24 yum install -y libxml2 libxml2-devel \ openssl openssl-devel \ curl* libcurl* \ libvpx* libjpeg* \ libpng libpng-devel \ freetype* t1lib* \ zlib

Ubuntu 16.04升级4.7.0内核后导致Compiz奔溃,问题:compiz[4852]: segfault at 48 ip 00007f88cae087f0 sp 00007ffce354c268 error 4 in libscale.so

由于硬件的驱动支持问题,升级4.7.0的内核主要是为了能使用Intel HD Graphics 630驱动,但是也出现了相关问题,比如Compiz的特效导致桌面上如果有多个相同程序启动,然后再次点击时就会出现闪烁和崩溃问题.查找日志如下: compiz[4852]: segfault at 48 ip 00007f88cae087f0 sp 00007ffce354c268 error 4 in libscale.so[7f5ce70cb000+24000] 解决方法: 这些方法只能尝试,不一定

CMS .NET 程序框架 从2.0/3.5升级到4.0 版本后 需要调整的地方

问题一: document.forms1.action 不可使用 需要修改程 document.forms[0] .NET 程序框架 从2.0/3.5升级到4.0 版本后,document.forms1  不可使用 也就是说所有浏览器都是支持document.forms["form1"]这样的写法的. 微软4.0之前是document.form1也能获取, 升级到4.0之后 取值方式为document.forms["form1"] 或者document.forms[

就地升级WSUS 3.0 SP2 ON windows server 2008 R2 ENT 到windows server 2012 R2 S

目标: Windows server 2008 r2 系统standard 版本不支持数据重删除,而wsus所在盘想启用dedup ,虽然网上说大概只有17%的去重率,但是如果占用空间在240GB,17%的去重率还是节省不少空间的. Inplace 升级wsus 3.0 sp2 到wsus 6是不支持的,官方的步骤是安装另外一台wsus服务器,然后迁移数据库.组.WSUS下载的文件,更改wsus的Identifier,再更改客户端WSUS Server指向. 因为之前的WSUS还有其他服务,比如

vsphere5.5升级到6.0操作手册

1 通过USB启动盘升级 使用USB升级好处就是可以跨大版本升级,比如从5.0/5.1/5.5升级到6.0. 1) 首先你需要制作一个ESXi-6.0.0-2494585的USB启动盘(制作方法请参考在我的文库里找,这里不再讲解) 2) 修改BIOS启动顺序,让它从USB启动(在此之前请将该主机上的虚拟机都迁移到其他主机或关机,然后重启ESXI主机) 3) 开始升级,选择"upgrade ESXi, Preserve VMFS datastore" 2 通过Esxcli命令升级 通过S