使用npm和yarn的package.json脚本?

时间:2017-01-14 08:03:37

标签: node.js npm yarnpkg

我在我的 module Sets.Parametric where open import Sets.Enumerated using (Bool; true; false; ⊤; tt) data List₁ (A B : Set) : Set data List₂ (A B : Set) : Set data List₁ (A B : Set) where [] : List₁ A B _∷_ : A → List₂ A B → List₁ A B data List₂ (A B : Set) where _∷_ : B → List₁ A B → List₂ A B 中使用npm as a build tool,我的一些脚本依赖于其他脚本:

package.json

这会将{ "test": "npm run lint && mocha" } 包管理器硬编码为npm。如何使这种表达依赖关系的方法适用于package.jsonnpm

2 个答案:

答案 0 :(得分:19)

yarn环境变量是指构建工具,因此只需将$npm_execpath替换为npm

$npm_execpath

{ "test": "$npm_execpath run lint && mocha" } npm test都可以使用,并且会使用相应的构建工具。

答案 1 :(得分:6)

虽然mjs的答案很棒,但还有一个小包,据称适用于所有环境,包括Windows:https://www.npmjs.com/package/yarpm

要在项目中使用,请运行yarn add yarpm --dev / npm i -D yarpm,然后在脚本中使用yarpm,如下所示:

{
  "test": "yarpm run lint && mocha"
}

正如README软件包所述,您只需要确保您的命令适合传递给 yarn或npm:您不能使用仅适用于一个软件包管理器的参数/标志。