直播短视频系统,利用多核/多进程能力优化加载

直播短视频系统,利用多核/多进程能力优化加载
thread-loader
1、多进程程处理loader
2、使用时,需将此 loader 放置在其他 loader 之前。放置在此 loader 之后的 loader 会在一个独立的 worker 池中运行。
3、本身启动进程就需要耗费时间,**请仅在耗时的操作中使用此 loader!**要不然收益达不到你的预期

happypack
1、启动多进程来优化构建速度,但是作者不维护了,注意安装版本,
2、替换方案建议使用thread-loader

{
  // 当js代码用babel处理兼容性且本身代码就比较多的情况下可以使用thread-loader开启多线程打包
  // thread-loader本身启动进程就需要耗费时间, 所以当js代码不多时就不要开启, 否则还可能会延长打包时间
  test: '/.js$/',
  exclude: /node_modules/,
  use: [
    {
      loader: 'thread-loader',
      options: {
        // 默认是cpu核 - 1, 可以通过这里更改开启几个进程
        works: 2
      }
    }
  ]

}
// @file: webpack.config.js
const HappyPack = require('happypack');
var happyThreadPool = HappyPack.ThreadPool({ size: 5 });

exports.module = { 
   
  rules: [
    { 
   
      test: /.js$/,
      // 1) replace your original list of loaders with "happypack/loader":
      // loaders: [ 'babel-loader?presets[]=es2015' ],
      use: ['happypack/loader'?id=babel], // 这里的id 就是定义在plugin里面HappyPack实例构造参数传入的id
      include: [ /* ... */ ],
      exclude: [ /* ... */ ]
    },
    { 
   
      test: /.less$/,
      use: 'happypack/loader?id=styles'
    },
  ]
};

exports.plugins = [
  // 2) create the plugin:
  new HappyPack({ 
   
    // 3) re-add the loaders you replaced above in #1:
    loaders: [ 'babel-loader?presets[]=es2015' ],
    threadPool: happyThreadPool,
    id: 'babel'
  }),
  new HappyPack({ 
   
    id: 'styles',
    threadPool: happyThreadPool,
    loaders: [ 'style-loader', 'css-loader', 'less-loader' ]
  })
];

以上就是直播短视频系统,利用多核/多进程能力优化加载, 更多内容欢迎关注之后的文章

posted @ 2025-08-02 09:13  云豹科技-苏凌霄  阅读(5)  评论(0)    收藏  举报