基础面试题
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
主要内容包括:HTML,CSS,JavaScript,浏览器,性能优化等等
-
安装插件
-
npm
安装
// 安装报错的话看下面注释,用下面的版本进行安装
$ npm install --save-dev compression-webpack-plugin
// 由于安装最新版本会安装失败,报错 unable to resolve dependency tree
// 所以需要找一个低版本的进行安装,如果不知道安装什么版本合适,就直接去 npm 官网找到这个组件,找到发布版本列表,一个一个的从新到旧安装,直到成功为止!
// 上面的如果安装失败就先用这个版本,或者可以按照上句话所说的去尽量安装新的版本
$ npm install --save-dev compression-webpack-plugin@6.1.1
yarn
安装(跟上面同理)
$ yarn add compression-webpack-plugin --save-dev
-
修改
vue.config.js
,拷贝帖进去即可,然后$ npm run build
进行打包测试 (js
、css
),会发现有了.gz
文件,如果添加.br
压缩支持,也会多了.br
文件。 -
如果报错 Error:Algorithm “brotliCompress“ is not found in “zlib“,是因为
nodejs
版本低了,需要升级、如果升级还是无法解决,可以暂且先注释.br
的打包,因为主要还是.gz
文件的压缩,.br
只是进一步优化,属于可选范围。 -
如果在
$ npm run build
的时候报错 TypeError: Cannot read property ‘tapPromise’ of undefined,看这里进行解决,原因是当前脚手架不支持compression-webpack-plugin
的版本,需要降低。
const path = require(‘path’);
const webpack = require(‘webpack’)
const CompressionPlugin = require(‘compression-webpack-plugin’)
const zlib = require(‘zlib’)
const isProduction = process.env.NODE_ENV === ‘production’
module.exports = {
configureWebpack: {
resolve: {
alias: {
‘@’: path.resolve(__dirname, ‘./src’),
‘@i’: path.resolve(__dirname, ‘./src/assets’),
}
},
plugins: [
new webpack.IgnorePlugin(/^./locale / , / m o m e n t /, /moment /,/moment/),
// 下面两项配置才是 compression-webpack-plugin 压缩配置
// 压缩成 .gz 文件
new CompressionPlugin({
filename: ‘[path][base].gz’,
algorithm: ‘gzip’,
test: /.js ∣ c ˙ s s |\.css ∣c˙ss|.html$/,
threshold: 10240,
minRatio: 0.8
}),
// 压缩成 .br 文件,如果 zlib 报错无法解决,可以注释这段使用代码,一般本地没问题,需要注意线上服务器会可能发生找不到 zlib 的情况。
new CompressionPlugin({
filename: ‘[path][base].br’,
algorithm: ‘brotliCompress’,
test: /.(js|css|html|svg)$/,
compressionOptions: {
params: {
}
},
threshold: 10240,
minRatio: 0.8
})
]
}
基础面试题
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
主要内容包括:HTML,CSS,JavaScript,浏览器,性能优化等等
视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
主要内容包括:HTML,CSS,JavaScript,浏览器,性能优化等等
[外链图片转存中…(img-M3stVNa5-1715706874570)]