链接远程 Registry
Verdaccio 是一个代理,默认链接公共 Registry。
uplinks:
npmjs:
url: https://registry.npmjs.org/
您可以链接多个 Registry,下面的文档将向您介绍一些有用的配置。
使用关联 Scope
使用 .npmrc
访问多个 Registry 的唯一方法是作用域功能,具体如下:
// .npmrc
registry=https://registry.npmjs.org
@mycompany:registry=http://localhost:4873
这种方法是有效的,但有几个缺点:
- 它仅适用于 Scope
- Scope 必须匹配,不允许使用正则表达式
- 一个 Scope 无法从多个 Registry 获取
- 令牌/密码必须在
.npmrc
中定义并签入存储库。
请参阅此处的完整示例。
链接 Registry
链接 Registry 相当简单。 首先,在 uplinks
部分中定义一个新部分。 请注意,这里的顺序无关紧要。
uplinks:
private:
url: https://private.registry.net/npm
... [truncated] ...
'webpack':
access: $all
publish: $authenticated
proxy: private
添加 proxy
部分,定义要代理的 Registry。
连接多个注册中心
uplinks:
server1:
url: https://server1.registry.net/npm
server2:
url: https://server2.registry.net/npm
... [truncated] ...
'webpack':
access: $all
publish: $authenticated
proxy: server1 server2
Verdaccio 支持 proxy
字段上配置多个 Registry。 请求将由列表中的第一个来处理;如果请求失败,将通过列表中的下一个来处理,以此类推。
Registry 离线
拥有完全离线的 Registry 是完全可能的。 如果您不想与外部建立任何连接,可以执行以下操作。
auth:
htpasswd:
file: ./htpasswd
uplinks:
packages:
'@my-company/*':
access: $all
publish: none
'@*/*':
access: $all
publish: $authenticated
'**':
access: $all
publish: $authenticated
删除 packages
各部分中的所有 proxy
字段。 当前 Registry 将完全离线。