生产环境处理

提取css文件

webpack4中可以使用 mini-css-extract-plugin

css兼容新处理

postcss-loader 需要安装 postcss-preset-env

配置postcss.config.js

1
2
3
4
5
module.exports = {
plugins: [
require('postcss-preset-env'),
]
}

添加浏览器版本配置文件 .browserslistrc

1
2
3
4
5
[production]
> 1%
ie 10
[modern]
last 1 chrome version

webpack.config.js中使用loader

post默认使用的是 .browserslistrc 生产环境的配置,开发环境需要手动修改 process.env.NODE_ENV='devlopment'webpack.config.js中的mode没有关系

压缩css

**css-minimizer-webpack-plugin**直接使用无需配置

编译时检查语法规则

eslint-webpack-plugin

一定要在webpack.config.js中配置 exclude: /node_modules/,只检查自己的代码

eslint-plugin-react-hooksreact-hooks中使用

js兼容处理

配置babel-loader 需要安装@babel/core 添加 .babelrc 文件

使用 preset-env 同样存在问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"presets": [
[
"@babel/preset-env",
{
// 把用到的polyfill按需引入,依赖core-js
"useBuiltIns": "useage",
"corejs":3
}
],
"@babel/preset-typescript",
"@babel/preset-react",
"@babel/plugin-transform-runtime"
]
}

压缩html

添加html-webpack-plugin配置项

1
2
3
4
5
6
7
new HtmlWebpackPlugin({
template: path.resolve(__dirname, 'src/index.html'),
minify:{
collapseWhitespace: true,// 移除空白
removeComments: true,// 移除注释
}
})
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2025 SunZhiqi

此时无声胜有声!

支付宝
微信