如何解决vue项目打包上线chunk

编程入门 行业动态 更新时间:2024-10-10 18:21:57

<a href=https://www.elefans.com/category/jswz/34/1771394.html style=如何解决vue项目打包上线chunk"/>

如何解决vue项目打包上线chunk

最近做一个vue项目遇到了一个问题,项目打包上线发现chunk-vendors.js文件也太大了点,第一次加载页面需要将近30s,这肯定是无法容忍的,于是‘调研’了一番,记录下解决方法

因app首页加载不流畅,于是去检查首页加载项的耗时,最终发现是前端加载时js文件太大,导致首页加载太慢,于是选择了以下方案进行优化。

一、安装compression-webpack-plugin插件。前端将文件打包成.gz文件,然后通过nginx的配置,让浏览器直接解析.gz文件,可以大大提升文件加载的速度。

第一步:先下载这个插件

npm install --save-dev compression-webpack-plugin

第二步:修改vue.config.js配置文件,如果没有vue.config.js,在根目录自己创建一个,下面是配置文件的代码

在vue.config.js中添加

const path = require('path');const webpack = require('webpack')
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']
const isProduction = process.env.NODE_ENV === 'production'module.exports = {devServer: {disableHostCheck: true},configureWebpack: {resolve: {alias: {'@': path.resolve(__dirname, './src'),'@i': path.resolve(__dirname, './src/assets'),}},plugins: [new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),// 下面是下载的插件的配置new CompressionWebpackPlugin({algorithm: 'gzip',test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),threshold: 10240,minRatio: 0.8}),new webpack.optimize.LimitChunkCountPlugin({maxChunks: 5,minChunkSize: 100})]}
}

然后需要在nginx中设置
找到nginx文件夹,编辑conf/nginx.conf文件 

在server{}中添加下列代码
server{```gzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;gzip_disable "MSIE [1-6]\.";```
}

 然后执行打包命令yarn build或者npm run build,会发现出现以下报错信息:

Cannot read property ‘tapPromise‘ of undefined

这是由于compression-webpack-plugin插件的版本过高,现在下载的最新版本是7.1.1。可以修改版本号为6.1.1即可。

更多推荐

如何解决vue项目打包上线chunk

本文发布于:2024-02-10 21:34:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1677403.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何解决   上线   项目   chunk   vue

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!