Node.js 如何发布一个 NPM 包——详细教程

发布于:2025-03-25 ⋅ 阅读:(25) ⋅ 点赞:(0)

在本文中,我将带大家一步步学习如何创建并发布一个 NPM 包,帮助开发者理解整个流程,并能顺利将自己的 JavaScript 库发布到 NPM 上供他人使用。


1. 安装 Node.js 和 npm

在开始之前,请确保你的电脑上已经安装了 Node.jsnpm(Node.js 自带 npm)。你可以在终端(Windows 用户请使用 cmdPowerShell)输入以下命令检查是否已安装:

node -v
npm -v

如果出现版本号,说明已安装。如果没有,请前往 Node.js 官网 下载并安装。


2. 创建一个新的项目文件夹

在合适的目录下运行以下命令,创建项目文件夹并进入:

mkdir my-npm-package
cd my-npm-package

3. 初始化 package.json

运行以下命令初始化 package.json 文件:

npm init

然后根据提示输入包的名称、版本号、描述、入口文件等信息。或者你可以使用 npm init -y 来直接生成一个默认的 package.json 文件。

示例 package.json(文件名:package.json):

{
  "name": "my-npm-package",
  "version": "1.0.0",
  "description": "一个简单的 NPM 包示例",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": ["npm", "package", "example"],
  "author": "你的名字",
  "license": "MIT"
}

4. 编写核心代码

在项目根目录创建 index.js 文件,并编写代码。例如,我们创建一个简单的函数,用于返回 Hello, NPM!

文件名:index.js

function sayHello() {
    return "Hello, NPM!";
}

module.exports = sayHello;

5. 创建 README 文件

在根目录创建 README.md,用于向用户介绍你的 NPM 包。

文件名:README.md

# my-npm-package

这是一个简单的 NPM 包示例,它提供一个 `sayHello` 方法,返回 `Hello, NPM!`。

## 安装

```sh
npm install my-npm-package

使用示例

const sayHello = require('my-npm-package');

console.log(sayHello()); // 输出: Hello, NPM!

---

## 6. 登录 NPM 账户

如果你还没有 NPM 账户,可以前往 [NPM 官网](https://www.npmjs.com/) 注册一个。

然后在终端登录:

```sh
npm login

输入你的 用户名、密码和邮箱 进行登录。


7. 发布 NPM 包

发布前,确保 package.json 中的 name 没有和已有的包重复(可在 NPM 搜索 页面查找)。

如果包名重复,可以在 package.json 修改 name,或者使用 NPM 作用域(Scoped Packages),格式如 @yourusername/package-name

然后,在终端运行以下命令发布包:

npm publish

如果是 Scoped Package,需要加上 --access public

npm publish --access public

发布成功后,你的包就可以在 npmjs.com 上搜索并安装了!


8. 测试安装并使用

在另一个项目或测试目录运行:

npm install my-npm-package

然后创建 test.js 文件并运行:

文件名:test.js

const sayHello = require('my-npm-package');

console.log(sayHello()); // 输出: Hello, NPM!

运行:

node test.js

你应该会看到 Hello, NPM! 的输出!


9. 更新 NPM 包

如果你需要更新 NPM 包,比如修复了 bug 或增加了新功能,需要更新 package.json 中的版本号(如 1.0.0 -> 1.0.1),然后重新发布:

npm version patch
npm publish

如果是新增功能:

npm version minor
npm publish

如果是重大更新:

npm version major
npm publish

10. 删除已发布的包(慎用!)

如果你发布了错误的包,可以在 72 小时内 使用以下命令删除:

npm unpublish my-npm-package --force

NPM 不允许删除已发布超过 72 小时的包,所以请谨慎发布。


总结

通过本文,你学会了:

  1. 如何创建并初始化一个 NPM 包
  2. 如何编写 index.js 代码并导出功能
  3. 如何创建 README.md 介绍包的用途
  4. 如何登录并发布 NPM 包
  5. 如何安装并使用自己发布的包
  6. 如何更新和删除 NPM 包

希望这篇文章对你有所帮助!如果有问题,欢迎留言讨论 😊