自动清理构建目录产物
如果不做处理,输出目录中的文件会越来越多
npm script
可以通过npm scripts清理构建目录
webpack plugin配置
使用clean-webpack-plugin:默认删除output指定的输出目录
要注意的是这个插件使用的时候,要这样const { CleanWebpackPlugin } = require('clean-webpack-plugin');
PostCSS插件 autoprefixer自动补齐CSS3前缀
在package.json或者.xxxx文件中进行配置适配的浏览器。
或者直接在loader的plugin参数中传一个数组,require(autoprefixer)({overrideBrowserslist:[‘last 7 versions’]})来覆盖那两个文件之一之中的配置。
资源内联
代码层面:
- 页面框架的初始化脚本
- 上报相关打点
- css内联避免页面闪动
请求层面: 减少HTTP网络请求数
- 小图片或者字体内联
HTML和JS内联
raw-loader内联html

raw-loader 内联JS

CSS内联
- 借助style-loader

- html-inline-css-webpack-plugin
多页面打包通用方案
glob.sync()
source map
关键字


提取页面公共资源
html-webpack-externals-plugin
思路: 将React,react-dom基础包通过cdn引入,不进行打包
方法: 使用html-webpack-externals-plugin

SplitChunksPlugin
Webpack4内置的,替代CommonsChunkPlugin插件

chunks参数说明:
- async异步引入的库进行分离(默认)
- initial同步引入的库进行分离
- all所有引入的库进行分离
test: 匹配出需要分离的包

- 提取页面公共文件(比如某些被多个页面调用到的方法)

minChunks:设置最小引用次数
minSize:分离的包体积的大小
