第一步
在NPM官网注册一个自己的账号,https://www.npmjs.com/
第二步
在本地新建一个文件,比如node_test,命令行进入当前目录,执行命令登陆npm
npm login
会出现如下结果:
然后输入对应的账号 | 密码 | 邮箱,接着可能会出现下面的错误
造成这个问题的原因是因为我之前使用了非 npmjs.org 官网的 registry
解决办法:
暂时切换回 npm 官方库地址:
npm config set registry https://registry.npmjs.org/
第三步
初始化当前项目
npm init
各个字段的意义
package name:包名字,默认文件夹的名字
version:包版本,默认1.0.0
description:包描述
entry point:入口文件,默认是index.js
test command:测试命令,默认为空,直接回车就行
git repository:git仓库地址,如果你的包是先放到github上或者其他git仓库里,这时候你的文件夹里面会存在一个隐藏的.git目录,npm会读到这个目录作为这一项的默认值。如果没有的话,回车继续。
keywords:关键字
author:你的账号
license: 包遵循的开源协议
执行完毕后会多一个package.json文件,文件内容是之前输入的配置信息
第四步
在当前目录下新建一个index.js,然后写一个简单的function,比如
exports.sum = function () {
var res = 0;
for (var i = 0; i < arguments.length; i++) {
res += arguments[i];
}
return res;
}
第五步
使用npm publish来发布你的包
npm publish
注意如果跟npm现有的包名冲突,修改package.json中name后重新发布即可。
发布成功后在npm官网搜索你的包名,如下:
第六步
验证自己发布的包,通过npm 或者 yarn 下载包
yarn add node_test_add
在文件中引入,创建test.js 内容如下:
const test = require('node_test_add');
console.log(test.sum(...[1, 2, 3, 4]))
执行
node test.js
结果如下
OK,这样就完成了一个简单npm包发布
如何撤销
npm unpublish xxxxx(包名) --force