64

yarn run旨在等效npm start于?

4

3 回答 3

75

它似乎yarn run start相当于,它在字段的字段npm start内运行脚本startscriptpackage.json

于 2016-11-15T20:50:14.417 回答
47

有几点需要理解:

npm: run 命令执行用户定义的脚本所必需的。
yarn: run 命令不是执行用户定义的脚本所必需的。

start命令不是用户定义的脚本名称,因此您可能不需要指定 run 命令来执行它。

因此,以下所有命令的工作方式都相似!

  • npm start
  • npm run start
  • yarn start
  • yarn run start

如果您有一个名为'app'的用户定义脚本:

  • npm app (不工作!)
  • npm run app (作品!)
  • yarn app (作品!)
  • yarn run app (作品!)

注意:如果没有明确定义,默认情况下 start 运行node server.js

于 2018-07-27T06:52:59.710 回答
16

npm start 是一个捷径npm run start

现在就从运行脚本package.json而言,所有这些都是等价的:

npm run start
npm start
yarn run start
yarn start

npm run myscript
npm myscript 这是一个错误
yarn run myscript
yarn myscript

这是因为run 不是强制命令 for yarn而是for npm


奖金

npr start- 好的
npr myscript- 好的

将此文件放在某处,PATH例如。%localappdata%\Programs\Git\cmd

npr.cmd
npm run %*
于 2018-10-09T11:21:04.000 回答