①happypack多线程执行
webpack执行预处理文件时单线程的,我们可以使用happypack来多线程处理文件。
因为受限于Node的单线程运行,所以webpack
的打包也是单线程的,使用HappyPack
可以将Loader
的同步执行转为并行,从而执行Loader
时的编译等待时间。
安装
npm i happypack -S -D
修改./build/webpack.base.conf.js文件
const HappyPack = require('happypack');
const os = require('os');
const happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length });
//注意:一下找到对应的地方添加
module.exports = {
module: {
rules: [
{
test: /\.js$/,
//把对.js 的文件处理交给id为happyBabel 的HappyPack 的实例执行
loader: 'happypack/loader?id=happyBabel',
//排除node_modules 目录下的文件
exclude: /node_modules/
},
]
},
plugins: [
new HappyPack({
//用id来标识 happypack处理那里类文件
id: 'happyBabel',
//如何处理 用法和loader 的配置一样
loaders: [{
loa