应用场景:项目使用webpack2.x进行打包,打包后静态资源通过nginx转发配置: 问题:webpack打包后的资源文件特别,特别大,没打包之前页面一个页面js有2M左右(其中已经抽离了css)? 优化一:一看js这么大肯定是没有关闭source-map,先将webpack配置文件中dev-tool:false, 优化二:使用compresion-webpack-plugin插件将静态资源压缩,并生成.gz文件,配置如下: 具体用法请参照:http://www.css88.com/doc/w…
webpack优化 -- compression-webpack-plugin 开启gzip 打包的时候开启gzip可以大大减少体积,非常适合于上线部署.下面以vue-cli2.x项目为例,介绍如何在vue中开启gzip.…
1 优化loader配置 1.1 缩小文件匹配范围(include/exclude)   通过排除node_modules下的文件 从而缩小了loader加载搜索范围 高概率命中文件  module: {        rules: [            {                test: /\.js$/,                use: 'babel-loader',                exclude: /node_modules/, // 排除不处理的目录 …
webpack优化方案 1. 优化开发体验 1-1. 加快构建速度 ① 缩小文件搜索范围 由于 Loader 对文件的转换操作很耗时,需要让尽可能少的文件被 Loader 处理,用include和exclude去缩小: resolve.modules用于配置 Webpack 去哪些目录下寻找第三方模块:[path.resolve(__dirname, 'node_modules')](根目录下): resolve.mainFields用于配置第三方模块使用哪个入口文件:['mian']: res…
1. 分包 将不需要变动的第三方包分离出去, 主要方法有: (1). externals(2). DllPlugin(3). expose-loader(4). ProviderPlugin 2. 拆包 将大包拆成小包,将公共模块抽离,将公共组件与业务代码分离,主要方法有: 1. CommonChunkPlugin2. SplitChunksPlugin (webpack4) 3. 按需加载(Code Spliting) 将无需首屏加载的模块分离出去,采用按需加载的方式,当点击按钮的时候才去加载…
1 不知道该优化哪里 先开启gzip压缩,这样可以很直接的减少请求包的体积,效果显著,不过需要在服务器端作相应的配置才能生效 2拆分vendor包, 减少单体包的体积,并行加载 通过配置,将不同的公用库拆分为多个公共包,并行加载,提高页面响应速度,这种方法不如第一种效果显著 3使用webpack-bundle-analyzer对现有bundle作分析 看看有哪些包可以拆出来做cdn,或者是使用率不高的,寻找可替换的,或者做瘦身 let BundleAnalyzerPlugin = require…
前言 公司目前现有的一款产品是使用vue v2.0框架实现的,配套的打包工具为webpack v3.0.整个项目大概有80多个vue文件,也算不上什么大型项目. 只不过每次头疼的就是打包所耗费的时间平均在一分钟左右,而且打包后有几个文件显示为[big],也就是文件体积过大. 最近就想着捣鼓一下,看能不能在此前的基础上做一些优化,顺带记录下来分享给大家. webpack打包优化 关于webpack的打包优化一般会从两个方面考虑:缩短打包时长和降低打包后的文件体积,这两个方面也刚好是前面我需要解决的…
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, 通过 import只用到了两个. 那么剩余的 8个, 会剔除掉没有用到的 死代码 util.js function a() {} function b() {} function c() {} function d() {} export default { a, b, c, d } index.j…
1. 前言 关于webpack,相信现在的前端开发人员一定不会陌生,因为它已经成为前端开发人员必不可少的一项技能,它的官方介绍如下: webpack 是一个模块打包器.webpack的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transform).打包(bundle)或包裹(package)任何资源(resource or asset). 在日常开发工作中,我们除了会使用webpack以及会编写它的配置文件之外,我们还需要了解一些关于…
webpack优化 -- happypack 前言:happypack是一个可以开启多线程转换loader的插件,可以在开发环境下提高编译速度,下面用vue-cli 2.x配合happypack优化一下vue项目.…