npm 开始执行很多预启动脚本

npm starts to execute many prestart scripts

好的,我有一个使用 npm 的项目。我需要它来编译几个 .coffee 脚本。

我需要执行多个预启动脚本,例如:

  "scripts": {
     "prestart": "coffee -c ./file1.coffee",
     "prestart": "coffee -c ./file2.coffee",
     "prestart": "coffee -c ./file3.coffee",
     "prestart": "coffee -c ./file4.coffee",
    "start": "node ./file1.js"
  },

但它似乎只执行最后一个,而且它不允许我在一个上附加许多脚本,例如:

"prestart": "coffee -c ./file1.coffee; coffee -c./file2.coffee"

我能做什么?

将它们包装在父脚本中

"scripts": {
  "prestart": "sh ./make-coffee.sh",
  "start": "node ./file1.js"
},

//make-coffee.sh
#!/bin/bash
coffee -c ./file1.coffee
coffee -c ./file2.coffee
coffee -c ./file3.coffee
coffee -c ./file4.coffee

或另一个(仅限 unix)解决方案是 运行 多个命令。我不知道如果早期命令失败会发生什么。

"scripts": {
  "prestart": "coffee -c ./file1.coffee; coffee -c ./file2.coffee; coffee -c ./file3.coffee; coffee -c ./file4.coffee",
  "start": "node ./file1.js"
},

你可以这样使用&&

"scripts": {
  "prestart": "coffee -c ./file1.coffee && coffee -c ./file2.coffee && coffee -c ./file3.coffee && coffee -c ./file4.coffee",
  "start": "node ./file1.js"
},