Vue项目构建与性能优化

拆分DllPlugin

1、根目录首先要创建一个webpack.dll.config.js的文件

2、在package.json下面的script添加

"dll": "webpack -p --progress --config ./webpack.dll.config.js",

3、执行 npm run dll 会生成vendor.dll.js和vendor.manifest.json两个文件,不多赘述

4、在vue.config.js

`cnpm i add-asset-html-webpack-plugin -D`

add-asset-html-webpack-plugin插件是把打包出来的dll.js引入到index.html中

5、执行npm run build 进行打包

时间上也比之前快了10S左右;

使用uglifyjs-webpack-plugin插件缩小javaScript

在压缩过程中对碎片化的冗余代码(如 console 语句、注释等)进行自动化删除;parallel使用多进程并行运行可提高构建速度,因此强烈建议使用,对文件体积,构建速度都有显著效果!

安装npm install uglifyjs-webpack-plugin --save-dev

在vue.config.js引入const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

   new UglifyJsPlugin({       
     uglifyOptions: {         
       cache: true, // 启用缓存         
       compress: {           
         drop_debugger: true,           
         drop_console: true, //生产环境自动删除console  
       }, 
       output: { 
        // 不保留注释                        
        comments: false, beautify: false  
      }, 
     warnings: false,                
    },
    sourceMap: false,
    parallel: true, //使用多进程并行运行来提高构建速度。默认并发运行数:os.cpus().length - 1。  
});

moment构建优化

在项目中经常会使用到moment做一些时间处理,但是monment里面包含了很多语言包都会打进项目里面,导致了项目体积变大,构建速度减慢。可以使用webpack的IgnorePlugins

进行忽略掉,在vue.config.js里面添加:

new webpack.IgnorePlugin(/\.\/locale/, /moment/)

import moment from 'moment'
//手动引入所需要的语言包
import 'moment/locale/zh-cn';
moment.locale('zh-cn');

HardSourceWebpackPlugin

对一些打包的文件进行缓存,这样可以提高构建速度!效果也非常显著!

首先通过npm i -D hard-source-webpack-plugin来安装插件;

var HardSourceWebpackPlugin = 
    require('hard-source-webpack-plugin');
module.exports = {
  plugins: [
    new HardSourceWebpackPlugin()
  ]
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值