Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下

关闭

搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
提交资源 / 链接反馈

happypack
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/amireh/happypack
网站描述:提升 webpack 的构建速度
GitHub

由于有大量文件需要解析和处理,构建是文件读写和计算密集型的操作,特别是当文件数量变多后,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`,
    }),
  ],
};


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/1472

more>>
相关栏目
webpack
webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起
官网 GitHub
npm
javascript 最流行的包管理器
官网 GitHub
yarn
可替代NPM的快速、可靠、安全的可信赖包管理工具Yarn
官网 GitHub
bower
解决js的依赖管理
官网 GitHub
grunt
基于Node.js的项目构建工具。它可以自动运行你所设定的任务
官网 GitHub
Parcel
快速,零配置的 Web 应用程序打包器
官网 GitHub
babel
Babel 是一个 JavaScript 编译器,可用下一代JavaScript 语法写代码
官网 GitHub
browserify
一个浏览器端代码模块化工具,require和module.exports来导入和导出.Browserify的原理:部署时处理代码依赖,将模块打包为一个文件。
官网 GitHub
HEAD
一份你可以在 <head> 里设置的列表
官网 GitHub
Snibox
一个可自建托管的代码片段管理器
官网 GitHub
Flow
Facebook 推出一个静态类型检测工具
官网 GitHub
WeFlow
一个高效、强大、跨平台的前端开发工作流工具
官网 GitHub
Athena
前端自动化流程构建工具
官网 GitHub
Cooking
更易上手的前端构建工具
官网 GitHub
vue-cli
一个基于 Vue.js 进行快速开发的完整系统
官网 GitHub
Turborepo
一个用于 JavaScript 和 TypeScript monorepos 的高性能构建系统
官网 GitHub
首页 技术导航 在线工具 技术文章 教程资源 AI工具集 前端库/框架 实用工具箱

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主。All Rights Reserved. 网站备案号:蜀ICP备13022973号

手机预览