如何从package.json中的不同registry获得npm依赖关系?

在我的package.json文件中,我声明了一个来自公共注册中心的依赖项,另一个来自私有注册中心(本例中是Artifactory)。

"dependencies": { "vue": "^2.4.4", //public registry "ce-ui": "http://myartifactory.com/artifactory/npm-local/ce-ui/-/ce-ui-0.0.2.tgz" } 

我正在寻找方式来使用插入符号或tidle来声明依赖关系

  "dependencies": { "vue": "^2.4.4", "ce-ui": "^0.0.2" } 

先谢谢你。

我build议你在Artifactory中有一个虚拟仓库,并有两个仓库:

  1. 与外部回购或公共registry的远程回购。 可能你在registry中有这个URL。
  2. 当地NPM回购(您当地的实际回购)。

然后:

  • 用以下命令replace新的本地资源库的默认registry:

     npm config set registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/your-npm-virtual-repo-name 
  • 将您的包部署到Artifactory。 您可以第一次手工上传文物到artifactory或在每个项目中使用此命令:

     npm publish --registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/your-virtual-repo-name 
  • 删除你的package.json中的链接,只replace为依赖名称和版本,如:

     "dependencies": { "vue": "^2.4.4", "ce-ui": "^0.0.2" } 

更多信息:

  • 如何设置用于节点js工件的artifactory?
  • NFP注册与Jfrog Artifactory