美文网首页1024
20、webpack happypack多线程打包

20、webpack happypack多线程打包

作者: 圆梦人生 | 来源:发表于2020-01-26 23:11 被阅读0次

webpack happypack 多线程打包,当工程比较大的时候可以使用多线程打包

操作步骤:

  • 1、安装happypack插件
 yarn add happypack
  • 2、配置
// 导入多线程打包
let Happypack = require('happypack')
//
module.exports = {
  plugins: [
    // js声明多线程打包
        new Happypack({
            id: 'js',
            use: [
                {
                    loader: 'babel-loader',
                    options: {
                        presets: [
                            '@babel/preset-env',
                            '@babel/preset-react'
                        ]
                    }
                }
            ]
        }),
        //css 多线程打包
        new Happypack({
            id: 'css',
            use: [ MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
        })
  ],
  module: {
     // loader
        rules: [
            {
                test: /\.css$/, //匹配css文件
                use: 'Happypack/loader?id=css'
            },
            {
                test: /\.less$/, //匹配less文件
                use: 'Happypack/loader?id=css'
            },
            {
                test: /\.js$/, //匹配js文件
                use: 'Happypack/loader?id=js'
            }
        ]
  }
}

完整案例:

build/webpack.base.config.js

// 开发和生成模式共同的配置
let path = require('path');
// path.resolve 相对路径转成绝对路径
// console.log(path.resolve('dist'));
// 以当前目录
// console.log(__dirname);

// html-webpack-plugins 插件
let HtmlWebpackPlugins = require('html-webpack-plugin');
//
let MiniCssExtractPlugin = require('mini-css-extract-plugin');
//
let webpack = require('webpack');
// 导入多线程打包
let Happypack = require('happypack')
// webpack相关配置
module.exports = {
    // 入口,表示从哪里开始打包
    entry: {
        home: './src/index.js'
    }, 
    // 表示出口(输出后文件相关配置)
    output: {   
        // 打包后的文件名 多入口根据入口名称生成
        filename: 'build.js',  
        // 输出后的路径(必须是一个绝对路径)
        path: path.resolve(__dirname, '../dist')
    },
    // 插件配置
    plugins: [
        new HtmlWebpackPlugins({
            // 模板位置
            template: 'index.html',
            // 文件名
            filename: 'index.html'
        }),
        // 抽离css为单独文件
        new MiniCssExtractPlugin({
            filename: 'main.css'
        }),
        // js声明多线程打包
        new Happypack({
            id: 'js',
            use: [
                {
                    loader: 'babel-loader',
                    options: {
                        presets: [
                            '@babel/preset-env',
                            '@babel/preset-react'
                        ]
                    }
                }
            ]
        }),
        //css 多线程打包
        new Happypack({
            id: 'css',
            use: [ MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
        })
    ],
    //
    resolve: {
        // 解析三方库文件
        //modules: [ path.resolve('node_modules') ],
        // 扩展名
        extensions: ['.js', '.css', '.json', '.vue'],
        // 定义路径别名
        alias: {
            '@': path.resolve('src')
        }
    },
    module: {
        // loader
        rules: [
            {
                test: /\.css$/, //匹配css文件
                use: 'Happypack/loader?id=css'
            },
            {
                test: /\.less$/, //匹配less文件
                use: 'Happypack/loader?id=css'
            },
            {
                test: /\.js$/, //匹配js文件
                use: 'Happypack/loader?id=js'
            }
        ]
     }
}

相关文章

  • 20、webpack happypack多线程打包

    webpack happypack 多线程打包,当工程比较大的时候可以使用多线程打包 操作步骤: 1、安装happ...

  • webpack 4.0 happypack

    happypack是用来多线程打包首先安装yarn add happypack -D 打包效果:

  • 2022-04-17

    happyPack与thread-load happyPack实现多线程编译 webpack在node中是单线程的...

  • webpack编译优化

    升级 webpack 版本至 4.x 使用 happypack 进行多线程编译 webpack 4.0 发布后 h...

  • 提高webpack构建速度

    优化webpack构建速度。 主要的思路是开启node的多线程,进行构建,提高构建速度 使用happypack w...

  • webpack 3升级到4踩坑

    性能提升总结: 从3.12.0更新到4.29.6后webpack4整体打包速度有提升,如果不新增happypack...

  • 编译优化-HappyPack

    多线程(多进程模拟)支持HappyPack的工作原理:在Webpack和Loader之间多加了一层,改成了Webp...

  • webpack插件-- happypack

    happypack:一个用于webpack并行处理文件系统的插件,可以大大提升开发构建速度。1.happypack...

  • WebPack打包工具

    title: WebPack打包工具date: 2019-08-06 20:02:33tags: [webpack...

  • webpack实战——打包优化【中】

    前言 上篇从多线程打包和缩小打包作用域两个方面入手,对webpack打包层面做出优化。本篇描述从动态链接库思想方面...

网友评论

    本文标题:20、webpack happypack多线程打包

    本文链接:https://www.haomeiwen.com/subject/tissthtx.html