当我们开发一个库的时候,不可能每次都去发布到npm或者私服,然后再去应用中安装。所以,无论npm或者 yarn都提供了link
命令用以简化开发流程。
以yarn为例,首先进入到库的根目录中,执行yarn link
,值得注意的时候,当前目录显然应该有package.json
文件,且应包含发布的名称和入口文件。比如:
{
"name": "@scope/your-lib",
"version": "0.1.0",
"description": "",
"main": "./dist/main.js",
}
执行yarn link
$ yarn link
yarn link v1.22.5
success Registered "@scope/your-lib".
info You can now run `yarn link "@scope/your-lib"` in the projects where you want to use this package and it will be used instead.
✨ Done in 0.03s.
此时相当于将当前包发布到了全局环境,这个时候,对应的应用就可以通过yarn link @scope/your-lib
命令添加该包。其实仅仅是创建了一个软连接,即一个快捷方式。
$ yarn link @scope/your-lib
yarn link v1.22.5
success Using linked package for "@scope/your-lib".
✨ Done in 0.03s.
至此就成功绕过了发包的流程,而且得益于仅仅是一个创建一个软连接,使得每次重新构建库之后,应用可以立即看到效果,从而实现快速的本地开发。