Javascript 连接NPM脚本命令?

Javascript 连接NPM脚本命令?,javascript,node.js,npm,Javascript,Node.js,Npm,我知道可以将NPM脚本与&&、前-和后-挂钩链接起来,但是否可以简单地将冗长的脚本行分隔成一个连接行 例如,我想将其转换为: "script": { "build": "--many --commands --are --required --on --a --single --line" } 为此: "script": { "part1": "--many --commands", "part2": "--are --required", "part3": "--on --a

我知道可以将NPM脚本与
&&
前-
后-
挂钩链接起来,但是否可以简单地将冗长的脚本行分隔成一个连接行

例如,我想将其转换为:

"script": {
  "build": "--many --commands --are --required --on --a --single --line"
}
为此:

"script": {
  "part1": "--many --commands",
  "part2": "--are --required",
  "part3": "--on --a",
  "part4": "--single --line",
  "build": "part1 + part2 + part3 + part4"
}
因此,当我输入
npm run build
时,它会将命令的所有部分合并到一行中


我也熟悉配置变量,但它们不是跨平台的解决方案,因此我将避免使用它们。

一种常见的方法是:

{
  "scripts:": {
    "script1": "cmd1",
    "script2": "cmd2",
    "script3": "cmd3",
    "build": "npm run script1 && npm run script2 && npm run script3",
  }
}

您可以像这样在package.json中使用config参数, 虽然它更长

您至少可以使用此方法重用配置

可能有一种方法可以基于正则表达式计算多个环境变量

{

  "config": {
    "part1": "--many --commands",
    "part2": "--are --required",
    "part3": "--on --a",
    "part4": "--single --line",
  },
  "script": {
    "build": "cmd $npm_package_config_part1 $npm_package_config_part2 $npm_package_config_part3 $npm_package_config_part4"
  }
}

您可以使用npm安装-g

简单用法:

concurrently "command1 arg" "command2 arg"

与1978年的答案相似,但较短:

"script": {
  "build:js": "--many --commands",
  "build:css": "--are --required",
  "build:images": "--on --a",
  "build": "run-s build:*"
}

我认为推荐的方法是将其移动到外部文件中。单行Bash文件和批处理(或PowerShell)文件是一种方式,不过您需要分别“维护”这两个文件。是的,我认为这是不可能的。太糟糕了,但我决定只使用Node设置一些Gulp任务。除了此策略外,还可以使用npm run all包来简化语法。注意,这需要
npm run all
包: