happypack

编程之家收集整理的这个编程导航主要介绍了happypack编程之家,现在分享给大家,也给大家做个参考。

happypack

happypack 介绍

由于有大量文件需要解析和处理,构建是文件读写和计算密集型的操作,特别是当文件数量变多后,webpack 构建慢的问题会显得严重。 运行在 Node.js 之上的 webpack 是单线程模型的,也就是说 webpack 需要处理的任务需要一件件挨着做,不能多个事情一起做。  

happypack 是 webpack 的一个插件,目的是通过多进程模型,来加速代码构建 。 分解任务和管理线程的事情 HappyPack 都会帮你做好,你所需要做的只是接入 HappyPack。 接入 HappyPack 的相关代码如下:

const path = require('path');

const ExtractTextPlugin = require('extract-text-webpack-plugin');

const HappyPack = require('happypack');

module.exports = {

module: {

rules: [

{

test: /.js$/,

// 把对 .js 文件的处理转交给 id 为 babel 的 HappyPack 实例

use: ['happypack/loader?id=babel'],

// 排除 node_modules 目录下的文件,node_modules 目录下的文件都是采用的 ES5 语法,没必要再通过 Babel 去转换

exclude: path.resolve(__dirname,'node_modules'),

},

{

// 把对 .css 文件的处理转交给 id 为 css 的 HappyPack 实例

test: /.css$/,

use: ExtractTextPlugin.extract({

use: ['happypack/loader?id=css'],

}),

]

},

plugins: [

new HappyPack({

// 用唯一的标识符 id 来代表当前的 HappyPack 是用来处理一类特定的文件

id: 'babel',

// 如何处理 .js 文件,用法和 Loader 配置中一样

loaders: ['babel-loader?cacheDirectory'],

// ... 其它配置项

}),

new HappyPack({

id: 'css',

// 如何处理 .css 文件,用法和 Loader 配置中一样

loaders: ['css-loader'],

new ExtractTextPlugin({

filename: `[name].css`,

],

};

GitHub:https://github.com/amireh/happypack

网站描述:提升 webpack 的构建速度

happypack官方网站

官方网站:

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

jade,Jade 是一个高性能的模板引擎,以 JavaScript 的形式集...
curl.js,轻量级,快速,可扩展的模块加载
jspm-cli,基于SystemJS的Js包管理器
angular-cli,快速构建Angular2项目
lerna,一款多项目多模块的管理工具
duo.js,前端的下一代包管理器。