还没发布过npm包?简单几步教会你

·  阅读 528

什么是npm?npm是nodejs上集成的原第三方包管理工具

0. 注册npm账号

www.npmjs.com/

1. 查看npm镜像,如果之前更换过,需要重置

npm config get registry
复制代码

1.1 重置镜像路径

(墙内的同学都习惯用淘宝镜像,这将不能访问npm账号)

npm config set registry https://registry.npmjs.org
复制代码

1.2 之后有必要可以再切回来

npm config set registry https://registry.npm.taobao.org
复制代码

2. 创建你的npm包

在项目的git仓库下执行:

npm init
复制代码

根据提示输入npm包信息,package.json创建完毕。

name:项目的包名,先在npm官网搜索下,或者npm install你想用的包名,以免名称已存在。
version:版本号,以后更新也要用到。
entry point:也就是项目main入口,默认根目录的index.js,调用这个包首先访问的文件。

其他选项不是很重要,后面也可以直接修改package.json文件。

3. 在终端登录npm

npm adduser
复制代码

输入npm账号的用户名、密码、邮箱,登录成功:

Logged in as xxx on https://registry.npmjs.org/.
复制代码

4. 发布npm包

npm publish
复制代码

第一次执行可能会提示:you must verify your email before publishing a new package: www.npmjs.com/email-edit,按照提示打开这个网址,输入第2步配置的邮箱,然后登录邮箱点击邮件进行验证即可。

5. 获取npm包

可以先创建一个空目录尝试:

npm install <package-name>
复制代码

下载完包后根目录创建一个test.js

var t = require('xxx') // xxx为包名
console.log(t)
复制代码

运行node test,控制台输出正常。

6. 更新npm包

修改package.json中的版本号,同样执行:

npm publish
复制代码

7. 撤销npm包

理论上npm包具有唯一性不可删除,已发布无法撤销只能更新,但是可以执行以下命令来提示该包不再维护:

npm deprecate xxx(包名) '这个包我已经不再维护了'
    
复制代码

8. 简单脚本

在你要发布的项目根目录创建文件 publish

#!/usr/bin/env bash
set -e

# 修改npm源地址
npm config get registry
npm config set registry=http://registry.npmjs.org

# 登陆输入自己的npm账号和密码,还有邮箱
echo '登录npm'
npm login

echo "发布中..."
npm publish

# 改回npm源地址
npm config set registry=https://registry.npm.taobao.org
echo -e "\n发布成功\n"
exit
复制代码

每次发布时运行命令 sh publish 输入账户信息即可发布。

注意先修改package的version,每次发布版本不能相同。

分类:
前端
标签: