You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于concurrently包自动为目录文件启动独立进程?

用concurrently自动遍历目录启动多进程

直接给你两种可行的实现方案,解决重复脚本和手动添加的问题:

方案一:借助Shell命令(分平台)

Windows(Cmd环境)

修改package.json的scripts:

{
  "scripts": {
    "mass": "for %f in (accounts/*.json) do @echo \"ts-node src/index.ts --settings %f\" | concurrently -"
  }
}

Linux/macOS(Bash/Zsh环境)

同样修改package.json:

{
  "scripts": {
    "mass": "ls accounts/*.json | xargs -I {} echo \"ts-node src/index.ts --settings {}\" | concurrently -"
  }
}

方案二:跨平台Node脚本(推荐)

这种方式不依赖系统Shell,全平台通用:

  1. 在项目根目录创建start-mass.js:
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');

// 扫描accounts目录下的所有JSON文件
const accountsDir = path.join(__dirname, 'accounts');
const jsonFiles = fs.readdirSync(accountsDir)
  .filter(file => path.extname(file) === '.json')
  .map(file => `ts-node src/index.ts --settings accounts/${file}`);

// 用concurrently执行所有命令
execSync(`concurrently "${jsonFiles.join('" "')}"`, { stdio: 'inherit' });
  1. 更新package.json的脚本:
{
  "scripts": {
    "mass": "node start-mass.js"
  }
}

优势说明

  • 新增JSON文件无需手动修改package.json,脚本自动扫描
  • 避免重复编写相同的启动命令,维护成本大幅降低
  • 跨平台方案适配所有系统,无需区分环境

内容的提问来源于stack exchange,提问作者Adam Chubbuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:15:34