В node package.json вызовите script из другого script с дополнительным параметром, в этом случае добавьте mocha watcher

в node package.json Я хотел бы повторно использовать команду, которую у меня уже есть в 'script'.

Вот практический пример

вместо (обратите внимание на дополнительный -w на часах script):

"scripts": {
             "test" : "./node_modules/mocha/bin/mocha --compilers coffee:coffee-script/register --recursive -R list",
             "watch": "./node_modules/mocha/bin/mocha --compilers coffee:coffee-script/register --recursive -R list -w",
           }

Я хотел бы иметь что-то вроде

"scripts": {
             "test" : "./node_modules/mocha/bin/mocha --compilers coffee:coffee-script/register --recursive -R list",
             "watch": "npm run script test" + "-w",
           }

который не работает (не может выполнять строки concats в json), но вы должны получить то, что я хотел бы

Я знаю, что скрипты npm поддерживают:  - и (параллельное выполнение)  - && (последовательное выполнение)

возможно, есть еще один вариант?

Ответ 1

Это можно сделать в [email protected]. Вы не указываете свою ОС и версию npm, которую используете, но если вы не сделали что-то для ее обновления, вероятно, вы используете [email protected], который поддерживает не синтаксис ниже,

В Linux или OSX вы можете обновить npm с помощью sudo npm install -g [email protected]. См. https://github.com/npm/npm/wiki/Troubleshooting#try-the-latest-stable-version-of-npm для руководства по обновлению npm на всех платформах.

Вы должны сделать это, передав дополнительный аргумент вашему script:

"scripts": { "test": "mocha --compilers coffee:coffee-script/register --recursive -R list", "watch": "npm run test -- -w }

Я проверил это, используя следующий, упрощенный пакет .json:

{ "scripts": { "a": "ls", "b": "npm run a -- -l" } }

Вывод:

$ npm run a

> @ a /Users/smikes/src/github/foo
> ls

package.json
$ npm run b

> @ b /Users/smikes/src/github/foo
> npm run a -- -l


> @ a /Users/smikes/src/github/foo
> ls -l

total 8
-rw-r--r--  1 smikes  staff  55  4 Jan 05:34 package.json
$