[Vue CLI 3] 配置解析之 parallel

本文深入探讨Vue.js项目中vue.config.js文件内的parallel配置项。parallel用于决定是否使用thread-loader来加速Babel或TypeScript的编译过程,尤其在多核CPU环境下效果显著。文章分析了parallel配置的默认行为及如何根据实际需求调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档中介绍过在 vue.config.js 文件中可以配置 parallel,作用如下:


是否为 Babel 或 TypeScript 使用 thread-loader。
该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建

我们看一下源码部分:

parallel 接受 boolean 值:


parallel: joi.boolean()

默认设置如下:


parallel: hasMultipleCores()

依赖了函数 hasMultipleCores

in some cases cpus() returns undefined, and may simply throw in the future

详情见:https://github.com/nodejs/nod...

通过核心包 oscpus 函数


function hasMultipleCores () {
  try {
    return require('os').cpus().length > 1
  } catch (e) {
    return false
  }
}

那它会影响什么呢?

babel 部分

在 @vue/cli-plugin-babel/README.md 也提到了:

thread-loader is enabled by default when the machine has more than 1 CPU cores. This can be turned off by setting parallel: false in vue.config.js.

我们来看一下源码:

在线上环境和 vue.config.js 中的配置 parallel


const useThreads = process.env.NODE_ENV === 'production' && options.parallel

然后如果 useThreadstrue,会 use 插件 thread-loader


if (useThreads) {
  jsRule
    .use('thread-loader')
      .loader('thread-loader')
}

所以大家应该知道,如果你在某个项目里面看到 vue.config.js 配置了:


parallel: require('os').cpus().length > 1

其实是多余的,而且不保险

来源:https://segmentfault.com/a/1190000016247395

转载于:https://www.cnblogs.com/lovellll/p/10138848.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值