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。
webpack 3.1 升级webpack 4.0的更多相关文章
- Webpack + Vue 多页面项目升级 Webpack 4 以及打包优化
0. 前言 早在 2016 年我就发布过一篇关于在多页面下使用 Webpack + Vue 的配置的文章,当时也是我在做自己一个个人项目时遇到的配置问题,想到别人也可能遇到跟我同样的问题,就把配置的思 ...
- Webpack 5 配置手册(从0开始)
针对新手入门搭建项目,Webpack5 配置手册(从0开始) webpack安装顺序 1. `npm init -y`,初始化包管理文件 package.json 2. 新建src源代码目录 3. 新 ...
- webpack + vuejs(都是1.0的版本) 基本配置(一)
开始之前 本文包含以下技术,文中尽量给与详细的描述,并且附上参考链接,读者可以深入学习: 1.webpack12.Vue.js13.npm4.nodejs —- 这个就不给连接了,因为上面的连接都是在 ...
- [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 f ...
- 【webpack】---模块打包机webpack基础使用---【巷子】
001.什么是webpack? 作用有哪些? WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,Ty ...
- Webpack学习笔记九 webpack优化总结
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...
- vue 项目中 自定义 webpack 的 配置文件(webpack.config.babel.js)
webpack.config.babel.js,这样命名是想让webpack在编译的时候自动识别es6的语法,现在貌似不需要这样命名了,之前用webpack1.x的时候貌似是需要的 let path ...
- 局部安装webpack时,使用webpack命令时提示webpack不是内部命令解决方法
现在js发展太快了,根本看不懂啊.于是乎想做做功课,于是乎看到了这些“奇怪”的写法,原来好多都是遵循了 ECMASCRIPT6,好吧,在本地看看怎么用的吧.写在本地的环境下, 发现各种报错,根本不能用 ...
- 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发
每天记录一点:NetCore获得配置文件 appsettings.json 用NetCore做项目如果用EF ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...
随机推荐
- CMU Advanced DB System - Query Optimizer
Overview Optimizer模块所处在的位置如图, 那么做optimize的目的是, 找出所有‘correct’执行计划中‘cost’最低的 那么这里首先要明确的概念,‘correct’,关系 ...
- 宝塔 ssl https无法访问使用
https 使用的是443端口 请确保 云上的与宝塔上的443端口开放即可
- MQTT基础概念介绍
https://blog.csdn.net/pipinet123/article/details/60866901 源博客地址:http://blog.csdn.net/pipinet123 MQTT ...
- C3线性化
https://zh.wikipedia.org/wiki/C3线性化 在计算机科学中,C3算法主要用于确定多重继承时,子类应该继承哪一个父类的方法,即方法解析顺序(Method Resolution ...
- MiniDao & Freemarker & include
minidao include - 国内版 Binghttps://cn.bing.com/search?q=minidao+include&qs=n&form=QBRE&sp ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍
笔记 1.分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/download ...
- Summary: curated List of Top 75 LeetCode Questions to Save Your Time
Facebook / Eng tech lead Dec 30, 2018 68 Comments New Year Gift to every fellow time-constrained ...
- 如何设置pycharm中使用的环境为本地的环境,而不用重新安装包
Pycharm的两种环境配置 1.新建一个虚拟环境 一开始使用pycharm创建project的时候,点击创建 create new project: 然后就会弹出下面的窗口,如果我们选择的是上面的选 ...
- snmp oid 和厂商对应关系
<node oid="default" name="Unknown" type="workstation"/><node ...
- oracle归档空间
select GROUP_NUMBER, NAME, STATE, TOTAL_MB-FREE_MB as USED_MB, FREE_MB, USABLE_FILE_MB from v$asm_di ...