Skip to content

gvp9132/datura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dfc7a53 · Mar 19, 2024

History

8 Commits
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024
Mar 19, 2024

Repository files navigation

[toc]

Webpack 学习

优化

使用多线程进行打包

  • 配置loader
  • 安装
    npm i thread-loader -D
  • 配置
const os = require('os');
// 引入压缩插件
const TerserPlugin = require('terser-webpack-plugin');
// 获取cpu核心数量
const threads = os.cpus().length - 2;

// 配置加载器
  {
                        // 处理js文件
                        test: /\.js$/,
                        // 排除node_modules文件夹,不处理node_modules文件夹中的js文件
                        exclude: "/node_modules",
                        use: [
                            {
                                loader: 'thread-loader',
                                options: {
                                    workers: threads
                                }
                            },
                            {
                                loader: 'babel-loader',
                                options: {
                                    // 开启缓存
                                    cacheDirectory: true,
                                    // 关闭缓存压缩
                                    cacheCompression: false
                                }
                            }
                        ],
                    }
// 配置插件
// 在插件中移除 CssMinimizerPlugin,在跟标签配置optimization
// 处理压缩的插件
optimization: {
    minimizer: [
        // 压缩css
        new CssMinimizerPlugin(),
        // 压缩js
        new TerserPlugin({
            // 开启多线程
            parallel: threads,
        })
    ]
},

cache缓存

  • 开启babel和eslin的本地缓存
// loader
 {
    // 处理js文件
    test: /\.js$/,
    // 排除node_modules文件夹,不处理node_modules文件夹中的js文件
    exclude: "/node_modules",
    loader: 'babel-loader',
    options: {
        // 开启缓存
        cacheDirectory: true,
        // 关闭缓存压缩
        cacheCompression: false
    }
  }

// 插件
  new ESLintWebpackPlugin({
            context: 'src',
            exclude: ['node_modules'],
            // 开启eslint缓存
            cache: true,
            // 设置缓存的目录
            //cacheLocation: 'node_modules/.cache/.eslintcache',
        }),

About

Webpack study project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published