🚀 一、准备阶段
- 确保你已经安装 Node.js 和 npm
node -v
npm -v
建议使用 nvm 或 volta 管理版本
- 初始化项目
mkdir my-lib && cd my-lib
npm init -y
生成一个基础的 package.json。
🧱 二、编写并构建你的代码
假设你使用 TypeScript:
npm install typescript --save-dev
npx tsc --init
在 src/index.ts 中写点内容:
export const hello = () => console.log('Hello npm!');
在 package.json 添加构建命令:
"scripts": {
"build": "tsc"
}
执行:
npm run build
构建产物会输出到 dist/ 目录。
🔐 三、登录 npm
如果发布到 npm 官方仓库:
npm login
输入:
Username: yourname
Password: ****
Email: your@email.com
如果发布到 私有源(如 Bitbucket):
npm login --registry=https://api.bitbucket.org/2.0/repositories/yourworkspace/yourrepo/npm
或者在项目根目录配置 .npmrc:
@yourcompany:registry=https://api.bitbucket.org/2.0/repositories/yourworkspace/yourrepo/npm/
//api.bitbucket.org/2.0/repositories/yourworkspace/yourrepo/npm/:_authToken=${BITBUCKET_TOKEN}
📦 四、发布 npm 包
1️⃣ 官方 npm 发布
npm publish
如果你的包名是带作用域的(如 @yourcompany/my-lib),且想让它公开可安装:
npm publish --access public
如果是公司内部的私有包:
npm publish --access restricted
2️⃣ Bitbucket(或其他私服)发布
确保 .npmrc 的 registry 指向 Bitbucket:
npm publish --registry=https://api.bitbucket.org/2.0/repositories/yourworkspace/yourrepo/npm
🧩 五、验证安装
发布完成后可以在任何项目中尝试安装:
npm install @yourcompany/my-lib
然后使用:
import { hello } from '@yourcompany/my-lib';
hello();
🧰 六、版本更新与重新发布
每次修改后必须更新版本号,否则无法再次发布:
npm version patch # 1.0.0 -> 1.0.1
npm version minor # 1.0.0 -> 1.1.0
npm version major # 1.0.0 -> 2.0.0
然后再执行:
npm publish
✅ 七、总结流程
| 步骤 | 命令 | 说明 |
|---|---|---|
| 初始化 | npm init | 创建 package.json |
| 构建 | npm run build | 打包代码 |
| 登录 | npm login | 登录 npm 源 |
| 发布 | npm publish | 上传包 |
| 更新版本 | npm version patch | 自动更新版本号 |
| 安装测试 | npm install @scope/package | 验证使用 |