首页 web前端 Flex布局 Grid布局 工具 在线编辑器 关于
2020-07-10 19:09 2023-12-03 19:03 标签:vue,gzip,build
vue项目打包后build.js过大,特别是使用element时,build达到9m多,于是使用路由懒加载。
非常简单,不用安装任何插件及改动,当然还有其他几种方法,具体可以去vue官网查询
下面我只说改动最小的方法:
路由里将
const web = () => import('../components/web.vue')
换成这个即可
const web = r => require.ensure([], () => r(require('../components/web.vue')), 'web');
使用这种方法,打包会将这些组件分开打包,需要时才加载,这样build.js减少了几m,减少到7m多,但是还是非常的大,这时候就想到了gzip压缩。
如果直接使用nginx压缩可能会消耗服务器性能,这时候我们要用vue打包时压缩,nginx只需要开启静态解压即可。
第一步:vue里安装 compression-webpack-plugin 模块
npm install compression-webpack-plugin --save-dev
plugins: [
// make sure to include the plugin for the magic
new VueLoaderPlugin(),
//=====================添加如下代码
new CompressionPlugin({
test: /\.(js|css|png|jpg)?$/i, // 哪些文件要压缩的文件名
algorithm: 'gzip', // 使用gz
filename: '[path].gz[query]', // 压缩后ip压缩
minRatio: 1, // 压缩率小于1才会压缩
deleteOriginalAssets: true // 删除未压缩的文件,谨慎设置,如果希望提供非gzip的资源,可不设置或者设置为false
})
],
参考地址:https://www.npmjs.com/package/compression-webpack-plugin
这样执行 npm run build 后会将所有的js打包成.js.gz
第二步:nginx配置
先下载nginx
cd /nginx解压目录
./configure --prefix=/usr/local/nginx --with-http_gzip_static_module
上面的/usr/local/nginx为nginx安装目录,可根据自己喜好修改
make
make install
配置nginx,配置很简单,添加 gzip_static on;即可
先下载nginx
cd /nginx解压目录
./configure --prefix=/usr/local/nginx --with-http_gzip_static_module
上面的/usr/local/nginx为nginx安装目录,可根据自己喜好修改
make
make install