yarn 基本操作

来源:互联网 发布:ajax域名加端口号访问 编辑:程序博客网 时间:2024/06/05 16:13

yarn的所有命令都在上面

初始化新项目

yarn init

添加依赖包

yarn add [package]yarn add [package]@[version]yarn add [package]@[tag]

将依赖项添加到不同依赖项类别

分别添加到 devDependenciespeerDependencies 和 optionalDependencies

yarn add [package] --devyarn add [package] --peer yarn add [package] --optional

升级依赖包

yarn upgrade [package]yarn upgrade [package]@[version]yarn upgrade [package]@[tag]

移除依赖包

yarn remove [package]

安装项目的全部依赖

yarn

或者

yarn install

所有可用的命令都按照字母先后顺序列在此处,其中最常用的有:

  • yarn add:为当前正在开发的包新增一个依赖包;
  • yarn init:初始化包;
  • yarn install:安装package.json 文件里定义的所有依赖包;
  • yarn publish:发布一个包到包管理器;
  • yarn remove:从当前包里移除一个未使用的包。

默认命令

执行不带任何命令的yarn,等同于执行yarn install,并透传所有参数。

用户自定义脚本

执行yarn <script> [<args>]将会执行用户自定义脚本。参阅yarn run

你可以在你的 package.json 文件中定义 scripts

{  "name": "my-package",  "scripts": {    "build": "babel src -d lib",    "test": "jest"  }}
yarn run [script] [<args>]

如果你已经在你的包里定义了 scripts,这个命令会运行指定的 [script]。例如:相当于直接输入babel src -d lib 或 jest 运行的命令,只是这样使用起来方便了许多

yarn run test

运行这个命令会执行你的 package.json 里名为 "test" 的脚本。

您可以在脚本名称后放置要传递给您的脚本的额外参数。

yarn run test -o --watch

运行这个命令会执行 jest -o --watch

[script] 也可以是任何 node_modules/.bin/ 里本地安装的可执行程序。

It’s also possible to leave out the run in this command, each script can be executed with its name:

yarn test -o --watch
Running this command will do the same as yarn run test -o --watch. Note that built-in cli commands will have preference over your scripts, so you shouldn’t always rely on this shortcut in other scripts

yarn run env

Running this command will list environment variables available to the scripts at runtime.

如果想覆盖此命令,可以在 package.json 中定义自己的 "env" 脚本。

yarn run

如果你不指定一个脚本给 yarn run 命令,run 命令会列出包里所有可运行的脚本。

并发和 --mutex

当在同一个服务器上同时运行多个 yarn 实例时,你可以通过传递全局标志 --mutex 并跟一个 file或 network 参数,确保任意给定时间只有一个实例运行(并且避免冲突)。

当使用 file 时 Yarn 默认会写/读当前工作目录里一个互斥锁文件 .yarn-single-instance。你也可以指定一个备用或全局的文件名。

--mutex file--mutex file:/tmp/.yarn-mutex

当使用 network 时,Yarn 默认会在 31997 端口创建一个服务器,你也可以指定一个备用端口。

--mutex network--mutex network:30330