收集一些常见的基于vue-cli的优化项
vue-cli 配置项结构
1
2
3
4 const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
...
})
设置全局样式
依赖插件 style-resources-loader, vue-cli-plugin-style-resources-loader
1 | pluginOptions: { |
css样式抽取
vue-cli5 默认配置 生产环境抽取组件的 style 样式为css文件放在 dist/css 文件夹中,还可以设置
1 | css: { |
关于 chunkFilename 作用:不在
output.entry
中的文件,但是需要单独打包的文件名配置。(
设置使用require.ensure
或者import
异步加载模块打包后的名称。)
js组件打包
vue-cli5 默认组件打包后输出到 /dist/js下, 文件名格式
文件夹名-文件名.hash值.后缀
, 也可以手动配置。eg:defectControlConfiguration-consumptionUnit.2e496dd8.js
1 | 1、方式1 |
资源压缩
对静态资源的压缩,一般只在生产模式下配置
1 | configureWebpack: (config) => { |
开启gzip压缩
vue.config.js
安装压缩插件,注意:不用安装太高版本,不用安装太高版本,不用安装太高版本,最新版本安装后打包回出错,我这是选择5.0.2。可能跟你项目的webpack版本有关吧
1 | npm install --save-dev compression-webpack-plugin@5.0.2 |
1 | const CompressionWebpackPlugin = require('compression-webpack-plugin') |
nginx 配置
1 | server { |
公共代码抽离
将第三方模块,样式抽离成单个文件
1 | configureWebpack: (config) => { |
1 | //代码拆分功能 |
性能提示优化
但项目越来越大,资源越来越多时,打包可能会报错。此时可能需要调整性能提示。
原因: node编译的内存溢出了。原因就是打包文件过大,超出了内存的限制大小造成了编译中断。
1 | configureWebpack: (config) => { |
package.json
1 | { |
路由懒加载
这样就优雅了不少
普通懒加载,打包后名称
chunk_59de86678e4fdfa6_1.0.0_1686820955003.js
1 | { |
升级版, 这种方式注册的路由打包后名称
pmsLogin_59de86678e4fdfa6_1.0.0_1686820955003.js
1 | { |
懒加载动态路由打包时的问题
1 | export const loadView = (view) => { |
使用cdn加速
1 | let cdn = { |
index.html 模板
1 |
|
查看性能分析报告
通过查看性能分析报告确定哪些大模块使用cdn加速
1 | //package.json |
去除 console.log
1、方式1
npm i terser-webpack-plugin -D
1 | module.exports = { |
2、方式2
安装 babel-plugin-transform-remove-console
.babel.config.js
1 | const plugins = []; |
webpack-chain 语法
完整示例参考
1 | /* |
- 本文作者: 王不留行
- 本文链接: https://wyf195075595.github.io/2023/06/15/programming/vue/vue-cli实践优化项/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!