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

官方网站:

小编说

以上是编程之家为你收集整理的happypack全部内容。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jade,Jade 是一个高性能的模板引擎,以 JavaScript 的形式集成在 node 和浏览器中
curl.js,轻量级,快速,可扩展的模块加载
jspm-cli,基于SystemJS的Js包管理器
angular-cli,快速构建Angular2项目
lerna,一款多项目多模块的管理工具
duo.js,前端的下一代包管理器。
WebJars,将web前端资源(如jQuery & Bootstrap)打成jar包文件
swc,用rust编写的网络编译器,babel的替代品
fetch,ajax请求的新写法
babel-plugin-preval,在构建期预先评估代码
Lebab,用于将你的ES5代码转成ES6/ES7
browserify,一个浏览器端代码模块化工具,require和module.exports来导入和导出.Browserify的原理:部署时处理代码依赖,将模块打包为一个文件。
esprima,高性能,符合标准的ECMAScript 解析器
bundle-buddy,识别bundle重复的工具
FIS3,为你定制的前端工程构建工具
prerender-loader,Webpack通用预渲染
Parcel,快速,零配置的 Web 应用程序打包器
Neutrino,创建和构建零初始配置的现代JavaScript应用程序
lit-html,js中写 HTML 的模板引擎
walle,瓦力 Devops开源项目代码部署平台