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

问题描述 投票:5回答:2

确定,我有一个使用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"

我该怎么办?

node.js npm
2个回答
6
投票

将它们包装在父脚本中

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

0
投票

您可以这样使用&&

"scripts": {
  "prestart": "coffee -c ./file1.coffee && coffee -c ./file2.coffee && coffee -c ./file3.coffee && coffee -c ./file4.coffee",
  "start": "node ./file1.js"
},
© www.soinside.com 2019 - 2024. All rights reserved.