发布Yarn包
本节我们来学习如何发布 Yarn 包,如果我们希望通过 Yarn 共享我们创建好的包给全世界各地的其他开发者,可以将软件包托管到一个可信任的网站上。
创建软件包
首先我们需要创建一个软件包,可以通过下列几个命令来创建,如下所示:
> git init my_yarn
> cd my_yarn
> yarn init
看一下这几个命令的执行效果:
其中 git init my_yarn
命令将会初始化创建一个新本地仓库,它在工作目录下生成一个名为 .git
的隐藏文件夹。然后使用 cd my_yarn
命令跳转到指定目录中,通过 yarn init
初始化一个新的项目。在执行 yarn init
时会出现一些问题,根据需求为每个问题输入答案,最终会在根目录下生成一个 package.json
文件。如果想要对所有的问题都使用默认值,可以直接运行 yarn init --yes
命令。
此时 package.json
文件的内容类似下面所示,当然根据输入答案的不同,内容也会有所不同:
{
"name": "my_yarn",
"version": "1.0.0",
"main": "index.js",
"author": "Your Name <you@example.com>",
"license": "MIT"
}
这个文件中一些字段,我们前面讲 package.json
文件的时候有讲到,特别是 name
字段和 version
字段是不可或缺的。
后面如果我们还需要在 package.json
文件中添加一些配置,可以手动修改这个文件。
Readme.md文件
一般情况下,我们会在发布软件包之前在根目录中编写一个 Readme.md
文件。这个文件用户介绍软件包并记录公共 API
。在定义 Readme.md
文件时,需要为用户提供使用我们软件包的所需全部知识。假设某个人第一个使用这个软件包,可能会遇到很多问题,所以我们需要在文件中准确并尽可能详细地描述这个软件包,但也要尽量简短和易于阅读。
发布一个包
我们可以将创建好的 Yarn 软件包发布到 npm
注册表,该注册表用于在全球范围内分发软件包。
首先我们需要登录到 npm
,如果还没有账号可以先注册一个账号,网址为:https://www.npmjs.com/。注册账号大家应该都会吧,这里就演示啦。
然后使用 yarn login
命令登录,命令执行效果如下图所示:
这里会提示要我们输入用户名和电子邮件,但是不会要求我们输入密码,因为 Yarn 不会保留密码或任何会话。但是当我们需要在 npm
上发布或修改某些内容时,就需要用到密码了。
将准备工作完成后,就可以正式发布软件包啦,发布软件包的命令如下所示:
yarn publish
此时会要求我们输入要发布的新版本,如下图:
然后有可能出现报错,告诉我们软件包的名称重复啦,此时我们需要到 package.json
文件中修改软件包的名称,例如修改为 my_yarn_xkd
,然后再次发布,一直到不重名为止:
这样一个软件包就发布成功啦,我们可以到官网上去通过软件包名称查找发布后的软件包。
如果我们在本地对软件包进行了修改,想要在 npm
上更新软件包,则需要先修改 package.json
文件中的版本号,然后再次执行 yarn publish
命令即可。