淮北网站建设推广,网站设计工程师是it行业吗,网站后台登录界面,排版设计作品欣赏首先添加两个量化的插件#xff0c;方便对项目目前的情况进行分析#xff1a;
1.添加speed-measure-webpack-plugin插件 —量化的指标可以看出前后对比 使用步骤#xff1a;
安装speed-measure-webpack-plugin依赖
npm install speed-measure-webpack-plugin -D配置vue.c…首先添加两个量化的插件方便对项目目前的情况进行分析
1.添加speed-measure-webpack-plugin插件 —量化的指标可以看出前后对比 使用步骤
安装speed-measure-webpack-plugin依赖
npm install speed-measure-webpack-plugin -D配置vue.config.js 文件
const SpeedMeasurePlugin require(speed-measure-webpack-plugin);configureWebpack:{plugins: [//开启打包计时new SpeedMeasurePlugin()]2.添加webpack-bundle-analyzer分析项目打包后文件的占比 使用步骤
webpack-bundle-analyzer的安装
npm install -D webpack-bundle-analyzer配置vue.config.js文件 module.exports {chainWebpack: (config) {if (process.env.ANALAYZ) { config.plugin(webpack-bundle-analyzer).use(require(webpack-bundle-analyzer).BundleAnalyzerPlugin); }},
};在package.json文件汇总添加analyz分析命令
scripts: {serve: vue-cli-service serve,build: vue-cli-service build,lint: vue-cli-service lint,analyz: cross-env ANALAYZtrue vue-cli-service build
},执行analyz分析命令
npm run analyz接下来根据上面插件显示的结果进行进一步的优化
1. 添加HappyPack
原理 由于有大量文件需要解析和处理构建是文件读写和计算密集型的操作特别是当文件数量变多后Webpack 构建慢的问题会显得严重。文件读写和计算操作是无法避免的那能不能让 Webpack 同一时刻处理多个任务发挥多核 CPU 电脑的威力以提升构建速度呢 HappyPack 就能让 Webpack 做到这点它把任务分解给多个子进程去并发的执行子进程处理完后再把结果发送给主进程。 使用步骤
安装 happypack:
npm install happypack -D配置vue.config.js文件
const HappyPack require(happypack)
const os require(os)
const happyThreadPool HappyPack.ThreadPool({ size: os.cpus().length });configureWebpack:{plugins: [//开启HappyPacknew HappyPack({id:babel,loaders:[babel-loader?cacheDirectorytrue],threadPool:happyThreadPool}),}chainWebpack(config) {//开启happypackconst jsRule config.module.rule(js);jsRule.uses.clear();jsRule.use(happypack/loader?idbabel).loader(happypack/loader?idbabel).end();······}
2.开启noParse
**原理**如果一些第三方模块没有AMD/CommonJS规范版本可以使用 noParse 来标识这个模块这样 Webpack 会引入这些模块但是不进行转化和解析从而提升 Webpack 的构建性能 例如jquery 、lodash。
noParse 属性的值是一个正则表达式或者是一个 function。
使用步骤 1.配置 vue.config.js文件 configureWebpack:{module: {noParse: /^(lodash|moment)$/},}3.添加DllPlugin
**原理**有些时候如果所有的JS文件都打成一个JS文件会导致最终生成的JS文件很大这个时候我们就要考虑拆分 bundles。
DllPlugin 和 DLLReferencePlugin 可以实现拆分 bundles并且可以大大提升构建速度DllPlugin 和 DLLReferencePlugin 都是 webpack 的内置模块。
我们使用 DllPlugin 将不会频繁更新的库进行编译当这些依赖的版本没有变化时就不需要重新编译。我们新建一个 webpack 的配置文件来专门用于编译动态链接库。 使用步骤
安装相关插件
npm install webpack-cli^3.2.3 add-asset-html-webpack-plugin^3.1.3 clean-webpack-plugin^1.0.1 --dev新建文件webpack.dll.conf.js
const path require(path)
const webpack require(webpack)
const CleanWebpackPlugin require(clean-webpack-plugin)// dll文件存放的目录
const dllPath public/vendormodule.exports {entry: {// 需要提取的库文件vue: [vue, vue-router, vuex],plugin: [echarts,echarts-gl],ui: [topology-vue,element-ui],},output: {path: path.join(__dirname, dllPath),filename: [name].dll.js,// vendor.dll.js中暴露出的全局变量名// 保持与 webpack.DllPlugin 中名称一致library: [name]_[hash]},plugins: [// 清除之前的dll文件new CleanWebpackPlugin(),// 设置环境变量new webpack.DefinePlugin({process.env: {NODE_ENV: production}}),// manifest.json 描述动态链接库包含了哪些内容new webpack.DllPlugin({path: path.join(__dirname, dllPath, [name]-manifest.json),// 保持与 output.library 中名称一致name: [name]_[hash],context: process.cwd()})]
}
package.json新增一条命令要安装webpack-cli scripts: {dll: webpack -p --progress --config ./webpack.dll.conf.js}执行 npm run dll, 会在public中生成vender文件夹 npm run dll配置vue.config.js文件
const DllReferencePlugin require(webpack/lib/DllReferencePlugin);configureWebpack:{//开启dllnew webpack.DllReferencePlugin({context: process.cwd(),manifest: require(./public/vendor/vendor-manifest.json)}),public 下的index.html引入一下文件 !-- dll 文件 --script src./vendor/vendor.dll.js/script4.添加gzip
原理 GZIP压缩可以大幅减小打包后文件的体积。 使用步骤
安装插件
npm install compression-webpack-plugin -D配置vue.config.js文件 configureWebpack:{plugins: [//开启gzipnew CompressionPlugin({test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型threshold: 10240, // 归档需要进行压缩的文件大小最小值我这个是10K以上的进行压缩deleteOriginalAssets: false // 是否删除原文件--会报错}),在nginx中启用gzip压缩
# 开启gzip
gzip on;
# 设置缓冲区大小
gzip_buffers 4 16k;
#压缩级别官网建议是6
gzip_comp_level 6;
#压缩的类型
gzip_types image/svgxml text/plain text/html text/xml text/css text/javascript application/xml application/xhtmlxml application/rssxml application/javascript application/x-javascript application/x-font-ttf application/vnd.ms-fontobject font/opentype font/ttf font/eot font/otf;
#允许压缩的文件最小字节
gzip_min_length 10k;经过了以上的优化
项目打包速度缩短了300%
2.运行速度也有所提升 文章转载自: http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn http://www.morning.nkwgy.cn.gov.cn.nkwgy.cn http://www.morning.egmux.cn.gov.cn.egmux.cn http://www.morning.dqkrf.cn.gov.cn.dqkrf.cn http://www.morning.beeice.com.gov.cn.beeice.com http://www.morning.rldph.cn.gov.cn.rldph.cn http://www.morning.rcjwl.cn.gov.cn.rcjwl.cn http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn http://www.morning.hlrtzcj.cn.gov.cn.hlrtzcj.cn http://www.morning.sqfnx.cn.gov.cn.sqfnx.cn http://www.morning.qpxrr.cn.gov.cn.qpxrr.cn http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn http://www.morning.mzwfw.cn.gov.cn.mzwfw.cn http://www.morning.zxwqt.cn.gov.cn.zxwqt.cn http://www.morning.krywy.cn.gov.cn.krywy.cn http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn http://www.morning.mnwmj.cn.gov.cn.mnwmj.cn http://www.morning.mxptg.cn.gov.cn.mxptg.cn http://www.morning.qxnns.cn.gov.cn.qxnns.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.ksggr.cn.gov.cn.ksggr.cn http://www.morning.c7497.cn.gov.cn.c7497.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.skmzm.cn.gov.cn.skmzm.cn http://www.morning.hwpcm.cn.gov.cn.hwpcm.cn http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn http://www.morning.qpmmg.cn.gov.cn.qpmmg.cn http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn http://www.morning.bysey.com.gov.cn.bysey.com http://www.morning.thrgp.cn.gov.cn.thrgp.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn http://www.morning.zsrjn.cn.gov.cn.zsrjn.cn http://www.morning.bkjhx.cn.gov.cn.bkjhx.cn http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.swimstaracademy.cn.gov.cn.swimstaracademy.cn http://www.morning.cgdyx.cn.gov.cn.cgdyx.cn http://www.morning.fssjw.cn.gov.cn.fssjw.cn http://www.morning.qsszq.cn.gov.cn.qsszq.cn http://www.morning.tfwg.cn.gov.cn.tfwg.cn http://www.morning.pxsn.cn.gov.cn.pxsn.cn http://www.morning.wmdlp.cn.gov.cn.wmdlp.cn http://www.morning.xxknq.cn.gov.cn.xxknq.cn http://www.morning.zpqk.cn.gov.cn.zpqk.cn http://www.morning.trjr.cn.gov.cn.trjr.cn http://www.morning.brcdf.cn.gov.cn.brcdf.cn http://www.morning.wjtxt.cn.gov.cn.wjtxt.cn http://www.morning.nfyc.cn.gov.cn.nfyc.cn http://www.morning.hkpn.cn.gov.cn.hkpn.cn http://www.morning.rhph.cn.gov.cn.rhph.cn http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn http://www.morning.kgmkl.cn.gov.cn.kgmkl.cn http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.kxyqy.cn.gov.cn.kxyqy.cn http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn http://www.morning.wfkbk.cn.gov.cn.wfkbk.cn http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.abgy8.com.gov.cn.abgy8.com http://www.morning.gnghp.cn.gov.cn.gnghp.cn http://www.morning.ggnkt.cn.gov.cn.ggnkt.cn http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn http://www.morning.daxifa.com.gov.cn.daxifa.com http://www.morning.rxyz.cn.gov.cn.rxyz.cn http://www.morning.myzfz.com.gov.cn.myzfz.com http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.btlmb.cn.gov.cn.btlmb.cn http://www.morning.nckjk.cn.gov.cn.nckjk.cn http://www.morning.rgkd.cn.gov.cn.rgkd.cn http://www.morning.zffn.cn.gov.cn.zffn.cn http://www.morning.gbljq.cn.gov.cn.gbljq.cn http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn http://www.morning.gktds.cn.gov.cn.gktds.cn http://www.morning.ejknty.cn.gov.cn.ejknty.cn http://www.morning.slzkq.cn.gov.cn.slzkq.cn http://www.morning.smmby.cn.gov.cn.smmby.cn