免费发布 npm 包到 npmjs.com
本文档说明如何把你的代码编译并发布为 npm 包。
一、注册 npmjs.com 账号
访问 https://www.npmjs.com/ ,点击 “Sign Up” 根据提示一步步注册账号

二、创建 Granular Access Token
由于 npm 现在强制要求发布时开启两步验证(2FA)。 没有启用 2FA 的账号直接拒绝发布。
直接 npm publish → 报 403,要求 2FA。
需要改成 npm publish --otp=xxxxxx,其中 otp 就需要安装认证 App,然后才能获得 OTP。
如果不想安装认证 App 就可以使用 Granular Access Token 的方式。
1、浏览器访问
https://www.npmjs.com/settings/rslai/tokens
注意:其中 rslai 是我注册 npmjs.com 账号,换成你的即可
2、点击 “Generate New Token” 按钮

3、填写信息
- Token name:
publish-token(随便起一个名字方便识别) - Bypass two-factor authentication (2FA):勾选后这个 Token 就可以绕过两步验证
- Expiration:选 90 天(或按需选择时长)
- Packages and scopes:选 Read and write(读写权限)
- Organizations:选择你的组织

4、点击“Generate token”

5、点击复制生成的 token(一定保存好,后续关闭后就不会显示这个 token 了)

三、编译发布你的 npm 包
1、把 Token 写进 npm 配置(后续就不用 npm login 了)
# 注意需要使用刚才生成的 token npm config set //registry.npmjs.org/:_authToken "你的Token粘贴到这里"
2、确认包元信息
发布前核对 package.json。当前仓库里的字段如下,其中 name 需要改成带 scope 的形式才能发到 @rslai 下:
{
"name": "@rslai/loom-pi", // ← 当前是 "loom-pi";发到 @rslai 组织须改成这个
"version": "0.1.0", // 每次发布必须是未发布过的新版本号
"type": "module",
"bin": { "loom": "dist/cli.js" }, // 全局命令入口,构建产物
"engines": { "node": ">=20" }
}
3、编译
npm install # 安装依赖(含 typescript) npm run build # tsc 按 tsconfig.json 编译 src/ → dist/
编译成功后产物保存在 dist/ 目录中
4、发布前自检
# 预览命令,用来查看当你执行 npm publish 时,到底会把哪些文件打包上传到 npm 仓库 npm pack --dry-run
5、发布
npm publish --access public # 首次发布 scoped 公开包必须带 --access public
6、验证发布结果
npm view @rslai/loom-pi # 查看已发布的元信息与最新版本 npm view @rslai/loom-pi version # 只看版本号

浙公网安备 33010602011771号