题记:一步步探索的过程非常有趣。
作为一名前端工程师,天天npm install别人的包,想不想自己写一个包让别人用呢?talk is cheap,撸起袖子开始干:
发布包
文章目录
- 编写模块
- 初始化包描述文件
- 注册NPM账号
- 上传包
- 安装包
- 管理包权限
编写模块
以helloworld为例,代码如下:
exports.sayHello = function () {
return 'Hello,world';
}
保存在你的目标文件夹下,命名为hello.js
初始化包描述文件
NPM提供的npm init命令会帮助你生成package.json文件,以问答方式逐步填入选项,如下:

注册NPM账号

没有账号的话执行npm adduser,同时注意登录 https://www.npmjs.com 完成邮箱验证;
有账号的话执行npm login
上传包
这一步的问题就比较多了
首先报错:no_perms Private mode enable, only admin can publish this module: hello

Google找到原因,原来是因为我之前修改了NPM镜像源,执行下面命令即可:
npm config set registry http://registry.npmjs.org
再次执行npm publish又出现报错:
You do not have permission to publish "hello". Are you logged in as the correct user? : hello

Google之原因如下:
原因
意思就是我的包名已经被别人占用啦!
回到package.json,将"name"属性修改为"hello_tryao",再次执行npm publish终于成功:

安装包
接下来你可以测试和安装自己的包啦,可以换一个目录执行
npm install hello_tryao
管理包权限
如果需要多人管理一个包,可以使用npm owner命令:
npm owner ls <package name>
npm owner add <user> <package name>
npm owner rm <user> <package name>
网友评论