VUE项目Webpack3升级为webpack4总结】的更多相关文章

背景 19年新建的vue项目,使用的是webpack3,随着项目的积累,组件的增多导致本地构建,线上打包等操作速度极慢,非常影响开发效率和部署效率,基于此问题,本次对webpack及相关插件进行了优化和升级.本博文分为2篇,第 1 篇 会直接附上可运行的代码(去除了一些业务代码配置),直接粘贴复制即可使用(注意是基于vue2.0项目原配置基础上的修改哦,在网上找了一堆都是升级过程的各种坑说明,不如直接粘贴复制运行来的爽丫~~~),第 2 篇也会对相关的修改和遇到的坑进行描述说明. 升级效果 1.…
写在前面的话:为什么要升级,因为公司目前的项目使用webpack3,但是因为是多页应用,入口估计有一百多个,开发模式下慢得不像话,修改一个文件需要十几秒才编译好,之前的解决方案是减少入口,但是要调试其他入口的文件就必须重启,这一直是我心里的刺.后来听说webpack4优化了打包速度,于是就准备去尝试了.升级后速度直接变为热更新2秒.惊到我~ webpack3的配置 webpackConfig context entry output resolve alias module rules esli…
   升级webpack4前 先删除之前的webpack, babel-loader  下载 webpack npm i -D webpack@4 webpack-cli@3 webpack-dev-server@3  下载 plugins npm i -D babel-polyfill happypack html-webpack-plugin clean-webpack-plugin progress-bar-webpack-plugin yargs-parser friendly-erro…
升级之前也参考了一些网上的教程.借鉴之,进行的自己的升级.一些版本为什么设为那个版本号也是参考别人的结果. 整体是按照先升级npm run dev:在升级npm run build的顺序. 首先升级webpack,在package.json文件中将webpack版本号修改为4.8.1. "webpack": "^4.8.1", 之后npm run dev,报错 解决的办法是 "webpack-dev-server": "^3.1.4&q…
一.nodejs环境搭建 首先需要下载node.js(推荐直接官网找最新的版本),下载完成后会自带npm包管理工具,打开cmd命令行界面,输入npm -v .node -v检查node.js与npm是否安装成功.(安装成功会显示版本号) 如果下载太慢的话可以把npm换成国内淘宝镜像cnpm:(个人推荐直接使用npm,之前有使用cnpm在下载一些模块时出现版本对应不上) npm install -g cnpm --registry=https://registry.npm.taobao.org 二…
ERROR in ./node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{"omit":1,"remove":true}!D:/work/nl_web/node_modules/_vue-style-loader@3.0.3@vue-style-loader!D:/work/nl_web/node_modules/_css-loader…
由于 webpack3升级后,新增了 Scope Hositing(作用域提升) 功能,据说是对 js的性能提升很大.因此,我们做了一个测试对比,就是 webpack3和 webpack1/2 的性能对比,如下: 测试目标 以下数据是2天随机时段3部手机各2组数据,每组数据都是30次取平均值,为了测试js的解析能力,排除了网络请求的影响 平台:M5 Note Build/MRA58K 系统:android 6.0 时间 before after 2017-08-10 13:00 920 511…
今天用vue-cli新建vue项目的时候,发现项目怎么都跑不起来. 最后通过与以前项目作比较,发现prettier这个依赖的版本从原来的1.12.0升级成了1.13.1.我也不太清楚为什么升级后项目跑不起来. 暂时的解决方法:删除1.13.1版本的包(在node_modules文件夹),安装低版本的prettier,npm install --save-dev prettier@1.12.0…
目标 babel 转换ES6 语法 postCss 增强css功能,如自动增加前缀 vue-loader 解析vue 文件 实现基本的vue项目开发环境,打包等 Babel 由于浏览器对es6语法兼容性问题,我们需要用babel 对新语法以及新的api 做代码转换成,也可以理解成Babel是一个工具链,主要帮我们做如下事情 转换语法 Polyfill实现目标环境中通用的功能(通过@ babel / polyfill) 源代码转换(codemods) 安装核心插件 npm install --sa…
原有vue项目接入typescript 为什么要接入typescript javascript由于自身的弱类型,使用起来非常灵活. 这也就为大型项目.多人协作开发埋下了很多隐患.如果是自己的私有业务倒无所谓,主要是对外接口和公共方法,对接起来非常头疼.主要表现在几方面: 参数类型没有校验,怎么传都有,有时会出现一些由于类型转换带来的未知问题. 接口文档不规范,每次都要通过读代码才能知道传什么,怎么传 接口编写符合规范,但是公共库中有大量的处理类型校验的代码 这就非常不利于工程标准化.于是我们决定…