这是我参与更文挑战的30天,活动详情查看 更文挑战
什么是npm?npm是nodejs上集成的原第三方包管理工具
0. 注册npm账号
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,每次发布版本不能相同。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END