概要:在本教程中,您将学习如何创建一个新的包并将其发布到 npm 仓库。
将您的包发布到 npm
首先,您需要访问 npmjs.com 的注册页面 创建一个新帐户。重要信息是用户名、密码和公开电子邮件。发布包时需要这些信息。
然后,您创建一个新包,例如,galaxy-lib。在 galaxy-lib 目录中,您运行 npm init --yes 命令来创建 package.json 文件
npm init --yesCode language: Shell Session (shell)拥有 package.json 文件后,您可以创建一个名为 index.js 的新模块,该模块包含一个简单的函数,该函数返回星系的数量
module.exports.count = function () {
return 1000000;
}Code language: JavaScript (javascript)第三,要将包发布到 npm,从终端,您使用 npm login 命令
npm loginCode language: Shell Session (shell)它将提示您输入以下信息:username、password 和 email。
最后,您运行 npm publish 命令将 galaxy-lib 包发布到 npm 仓库。
npm publishCode language: Shell Session (shell)如果您在运行 npm publish 命令后收到错误,则可能是您要发布的包的名称已经存在。在这种情况下,您需要将 package.json 文件中的包名更改为唯一的名称。
使用已发布的包
要使用 galaxy-lib 包,您创建一个名为 galaxy-demo 的新 Node 项目并运行 npm init 命令
npm init --yesCode language: Shell Session (shell)要安装您已发布的 galaxy-lib 包,您运行 npm install 命令
npm install galaxy-libCode 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.jsCode language: Shell Session (shell)输出
1000000Code 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命令弃用已发布的包。