概要:在本教程中,您将学习如何创建一个新的包并将其发布到 npm 仓库。
将您的包发布到 npm
首先,您需要访问 npmjs.com 的注册页面 创建一个新帐户。重要信息是用户名、密码和公开电子邮件。发布包时需要这些信息。
然后,您创建一个新包,例如,galaxy-lib
。在 galaxy-lib
目录中,您运行 npm init --yes
命令来创建 package.json
文件
npm init --yes
Code language: Shell Session (shell)
拥有 package.json
文件后,您可以创建一个名为 index.js
的新模块,该模块包含一个简单的函数,该函数返回星系的数量
module.exports.count = function () {
return 1000000;
}
Code language: JavaScript (javascript)
第三,要将包发布到 npm,从终端,您使用 npm login
命令
npm login
Code language: Shell Session (shell)
它将提示您输入以下信息:username
、password
和 email
。
最后,您运行 npm publish
命令将 galaxy-lib
包发布到 npm 仓库。
npm publish
Code language: Shell Session (shell)
如果您在运行 npm publish
命令后收到错误,则可能是您要发布的包的名称已经存在。在这种情况下,您需要将 package.json
文件中的包名更改为唯一的名称。
使用已发布的包
要使用 galaxy-lib
包,您创建一个名为 galaxy-demo
的新 Node 项目并运行 npm init
命令
npm init --yes
Code language: Shell Session (shell)
要安装您已发布的 galaxy-lib
包,您运行 npm install
命令
npm install galaxy-lib
Code language: Shell Session (shell)
以下创建 app.js
并使用 galaxy-lib
包
const galaxy = require('galaxy-lib');
console.log(galaxy.count());
Code language: JavaScript (javascript)
最后,使用以下命令运行 app.js
程序
node app.js
Code language: Shell Session (shell)
输出
1000000
Code language: Shell Session (shell)
取消发布您的包
将包发布到 npm 仓库后,其他人可能已经在使用它。因此,从 npm 仓库中取消发布包通常被认为是不好的行为。
如果您确定要执行的操作,可以运行 npm unpublish
命令取消发布包
npm unpublish [<@scope>/]<package_name>[@<version>]
Code language: HTML, XML (xml)
npm unpublish
命令将从 npm 仓库中删除包的版本,删除其条目并删除 tarball。
为了鼓励其他开发人员不使用包或更新版本,您应该改用 npm deprecate
命令
npm deprecate <package_name>[@<version>] <deprecation_message>
Code language: HTML, XML (xml)
此 npm deprecate
命令更新 npm 仓库中的包,并向尝试安装它的任何人发出弃用警告
概要
- 使用
npm publish
命令将您的包发布到 npm 仓库。 - 避免使用 npm unpublish 命令从 npm 仓库中删除已发布的包。
- 使用
npm deprecate
命令弃用已发布的包。