【发布时间】:2017-03-29 21:24:40
【问题描述】:
yarn run 是否打算等同于 npm start?
【问题讨论】:
-
为了让事情更混乱,yarn start == yarn run start
yarn run 是否打算等同于 npm start?
【问题讨论】:
似乎yarn run start相当于npm start,它在package.json中script字段的start字段内运行脚本
【讨论】:
yarn start 还运行 package.json 中的 start 脚本。
要理解的几件事:
npm:运行命令强制执行用户定义的脚本。
yarn:运行命令非强制 执行用户定义的脚本。
start command 不是用户定义的脚本名称,因此您可能不需要指定 run command 来执行它。
因此,以下所有命令的工作方式都相似!
npm startnpm run startyarn startyarn run start如果您有一个名为 'app' 的用户定义脚本:
npm app (不起作用!) npm run app (有效!) yarn app (有效!) yarn run app (有效!) 注意:如果没有明确定义,默认情况下 start 运行 node server.js。
【讨论】:
yarn run 不是必需的,除非脚本的名称与 yarn 子命令相同(例如,“run”需要 yarn run run,这很奇怪,可能想要避免)。
npm start 是npm run start 的快捷方式
现在就来自package.json 的运行脚本而言,所有这些都是等价的:
npm run startnpm startyarn run startyarn start
npm run myscriptnpm myscript 这是一个错误yarn run myscriptyarn myscript
这是因为run 不是yarn 的强制命令,但它是 npm 的强制命令。
npr start - 好的npr myscript - 好的
将 this 文件放在PATH 中的某处,例如。 %localappdata%\Programs\Git\cmd
npr.cmd
npm run %*
【讨论】: