这是一系列文章的一部分:
- Linking local files
- npm link
- npm yalc
- verdaccio
- 相对depps
在本系列中,我们将了解如何使用Verdaccio在本地测试您的软件包。
1.什么是Verdaccio?
verdaccio除了在中世纪晚期意大利流行的壁画绘画(通常在墙面上,通常在墙壁表面上),轻量级代理和私人包装注册表中。
可以根据需要配置它,并使用自己的小数据库开箱即用,并在此过程中引入缓存的下载模块,因此您不需要自己的一个即可开始。
此外,它允许您托管私有节点软件包,并与所有客户端软件包管理器(例如NPM,YARN和PNPM)兼容。
对于那些寻求扩展其存储功能的人,Verdaccio支持各种社区制造的插件,以将Amazon的S3,Google Cloud Storage或创建您自己的插件等服务,并提供Docker和Kubernetes的支持。
2.如何在本地使用它?
让我们说您有一个React应用程序和一个组件库,您想在React应用程序中测试该精美的组件库。在与本系列有关的上一篇文章中,我们已经看到了如何使用Linking local files和Npm link
开发组件库现在,我们将学习如何使用Verdaccio来完成它。
通常的方法是将您的库上传到NPM或类似的软件包管理器,然后下载并安装依赖项。但是您不想添加库,因为您想更深入地测试它。
Verdaccio为您提供了解决方案。您可以将其安装在本地计算机上,并将其用作库的提供商。
让我们看看如何在本地使用Verdaccio开始。开始使用它的最直接方法是:
安装
要在本地计算机中全球安装它,您只需要运行以下命令:
npm install --global verdaccio
配置
默认情况下,Verdaccio为您提供了开始使用软件包注册表的所有内容。如果您想查看默认配置,这里有:
storage: ./storage
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
"@*/*":
access: $all
publish: $authenticated
proxy: npmjs
"**":
proxy: npmjs
log: { type: stdout, format: pretty, level: http }
要进行进一步的配置,建议您查看官方文档here。
用法
为了运行Verdaccio服务,您只需要在终端中运行命令verdaccio
即可。几秒钟后,您将通过http://localhost:4873/
一旦我们运行了Verdaccio软件包注册表,我们只需要按照几个步骤安装了库。
第一步:创建.npmrc
文件
我们必须在库和React应用程序中都这样做,该应用程序将在运行install命令时将组件库以连接到正确的软件包注册表。
。这应该是该文件的内容:
@ks:registry=http://localhost:4873
第二步:登录Verdaccio软件包注册表
一旦我们运行了Verdaccio,我们就需要创建一个用户才能发布软件包。我们将通过使用以下命令来做到这一点:
npm adduser --registry http://localhost:4873
它将询问您的用户名,密码和电子邮件。之后,系统将自动记录您作为您创建的用户。
如果您想创建多个用户并更改会话,则可以使用此命令:
npm login --registry http://localhost:4873
第三步:发布您的软件包
要在正确的软件包注册表上发布库,您必须确保创建了指向Verdaccio本地URL的.npmrc
。
我将为您提供一些您必须在组件库的package.json
中添加的脚本,以便每次发布时发布库并升级版本。如果您每次发布时都不会升级版本,则在运行命令后返回错误。
"unpublish-library": "npm unpublish @ks/my-fancy-library --force",
"update-version": "npm version patch --force",
"publish-library": "npm run build && npm run update-version && npm run unpublish-library && npm publish".
运行命令publish-library
后,您应该能够在Verdaccio dashboard上看到类似的东西:
最后一步:在应用程序中安装库,更新库,然后查看您更改。
这是真理的时代。发布库后,我们将其安装在我们的React应用程序上,并使用单个组件来查看其工作原理。
在运行verdaccio软件包注册表后,我们将通过您的软件包管理器安装库(让使用示例NPM)并运行此命令:
npm install @ks/my-fancy-library@latest
安装了库后,请确保其正确配置并显示您想要的组件
之后,我们将去图书馆,我们将在您要显示的组件上更改一些内容,然后您只需要做两件事:
- 构建并将您的库发布到Verdaccio:
npm run publish-library
- 转到React App并安装Component Library的最新版本:
npm install @ks/my-fancy-library@latest
当过程完成时,您将能够看到在组件库上完成的更改
额外的英里:如何使用Docker运行Verdaccio?
有一种方法可以使用Docker安装Verdaccio软件包注册表。它也很简单:
您需要安装Docker守护程序并运行,以运行命令并抬高容器。
之后,您可以利用此命令来执行此操作:
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
如果一切顺利,您应该有一个正在运行的Verdaccio here
拥有该工作,您需要按照我在本节上提到的相同说明进行了说明how to install the library locally,特别是在配置步骤中,因为该过程几乎相同。您唯一需要替换的是.npmrc中的URL,从此http://localhost:4873/
到此http://0.0.0.0:4873/
可能的用法
我会在这里留下一些关于您可以使用Verdaccio的想法:
-
创建自己的私人软件包注册表
-
减少CI过程的时间缓存
-
测试MonorePos和注册表中的部署
-
作为CI过程中包装的备份。
-
个人用法,当您有与彼此相关的不同软件包时。
-
教师目的(有时为npm mark套件作为垃圾邮件)
-
它允许您使用AWS或Google Cloud存储软件包缓存
-
上行链路:您可以配置它以定义要在每个软件包中用户使用的代理。