NPM最近为模块引入了@scopes / organizations。有没有一种将现有模块迁移到组织的好方法?是否有任何工具可以自动化大量的包? NPM是否支持重定向,以便其他软件仍然可以使用旧名称,但是会收到应该更新的通知?
答案 0 :(得分:28)
您可以从以下位置更改package.json:
body {
background-color: color-get(bkgrnd); // Returns #123143
color: color-get(main); // Returns #ffce00
}
button {
border: 2px solid color-get(main, 50); // Returns rgba(255, 206, 0, 0.5)
}
为:
"name": "project-name"
并发布包:
"name": "@scope/project-name"
更新:需要npm publish --access=public
参数才能使作用域包公开 - 否则默认情况下它将是私有的。您可以在--access=public
的{{1}}部分中将access
设置为"public"
,而不是命令行参数:
publishConfig
(感谢Danilo Bargen和Greg Pratt在评论中指出它!)
请参阅:https://docs.npmjs.com/getting-started/scoped-packages
npm不支持从旧名称到新名称的重定向,但是 您可以使用以下命令弃用旧包:
package.json
因此,安装旧版本的人会收到通知他们应该安装另一个软件包。
答案 1 :(得分:3)
另一种不涉及重命名程序包的方法是转到npm网站上您组织中的团队设置(有一个默认的团队称为“开发人员”)。有一个按钮可以将现有的程序包添加到团队中。
通过这种方式,您实际上可以传输软件包,而不用其他名称重新发布。