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

时间:2015-04-13 15:40:31

标签: node.js npm

好的,我有一个项目,我使用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"

我该怎么办?

2 个答案:

答案 0 :(得分:5)

将它们包装在父脚本中

"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"
},

答案 1 :(得分:1)

您可以像这样使用&&

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