HappyPack是一個Webpack插件,它可以將Webpack中的loader的執行過程分解成多個子進程來執行,從而提升構建速度。
在Vue項目中使用HappyPack可以更好地優化編譯速度。Vue項目中使用的loader大多數是為了處理.vue文件中的<template>、<script>和<style>標簽內容的,而這些內容的處理時間一般比較長。
const path = require('path'); const HappyPack = require('happypack'); const vueLoaderPlugin = require('vue-loader/lib/plugin'); module.exports = { entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: { compilerOptions: { preserveWhitespace: false } } }, { test: /\.js$/, loader: 'happypack/loader?id=happyBabel', exclude: /node_modules/ }, { test: /\.css$/, use: ['style-loader', 'css-loader'] } ] }, plugins: [ new HappyPack({ id: 'happyBabel', loaders: [ { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } ], threadPool: HappyPack.ThreadPool({ size: 5 }) }), new vueLoaderPlugin() ] };
在Webpack配置文件中,我們將Vue-loader和Babel-loader的執行過程交給了HappyPack,使用了線程池,以提高并行處理能力。這時我們可以使用以下命令編譯項目:
$ yarn add happyPack $ webpack --config webpack.config.js
這樣,我們就可以在Vue項目中使用HappyPack來加速編譯速度了。
上一篇mysql取消授權