首页 > 其他 > 详细

前端项目优化01

时间:2019-10-14 12:36:06      阅读:89      评论:0      收藏:0      [点我收藏+]
前端项目优化01
1. webpack-bundle-analyzer 文件打包模块可视化插件
  该插件主要用于分析项目打包后的文件体积大小,
 
2.compression-webpack-plugin js文件gzip压缩插件
  该插件主要是用gzip算法来进一步压缩js文件(压缩空间≈70&)
 
 
现有项目配置:
 
package.json
// 新增两个依赖
"devDependencies": {
    "compression-webpack-plugin": "1.1.12", // 压缩
    "webpack-bundle-analyzer": "^3.3.2", // 可视化
}
 
// 新增npm执行指令
"scripts": {
"build:gzip": "cross-env NODE_ENV=production GZIP=true webpack --progress --hide-modules", // 生产打包且初始化压缩环境变量
"analyzer": "cross-env NODE_ENV=production ANALYZER=true webpack --progress --hide-modules", // 生产打包且初始化可视化环境变量
}
 
 
webpack.config.js
 
模块导入
var BundleAnalyzerPlugin  = require(‘webpack-bundle-analyzer‘).BundleAnalyzerPlugin
var CompressionPlugin = require(‘compression-webpack-plugin‘)
 
模块配置
  if (process.env.ANALYZER) { // 可视化环境存在ANALYZER存在
    module.exports.plugins = module.exports.plugins.concat(new BundleAnalyzerPlugin())
  }
  if (process.env.GZIP) { // 文件压缩环境存在ANALYZER存在
    module.exports.plugins = module.exports.plugins.concat(new CompressionPlugin({
      algorithm: ‘gzip‘,
      test: /\.js/,
      deleteOriginalAssets: true
    }))
  }
 
 
注释:
webpack3对应的compression-webpack-plugin版本只能是1.1.2
webpack4对应的compression-webpack-plugin版本^2.0.0
 
更新早上说的配置的一个问题,变更这个配置的原因主要是,怕nginx服务器那边没开启gzip功能,如果只打包.gz的文件,会导致访问异常,所以去掉这个属性会打包两份js代码,一份 .js ,一份是.js.gz,nginx服务器会根据相关配置来读取.js还是.js.gz的文件
技术分享图片

 

 

技术分享图片

前端项目优化01

原文:https://www.cnblogs.com/zhoudawei/p/11670010.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!