如何发布一个 nodejs npm package 包
1、认识 npm
在认识 npm 之前,你必须对 nodejs 有一定的了解。
Node包管理器(Node Package Manager)。它是一个 javascript 的软件套件管理系统,预设环境为 Node.js,从 Node.js0.6.3 版本开始,npm 被自动附带在安装包中。
npm 运行在命令行下,并用于管理相依性套件,npm 也允许使用者安装在 npm registry 上的 Node.js 应用程序。npm 由 Isaac Z. Schlueter 开发,为了符合 CommonJS 的规范,如 PHP 之于 PEAR、Perl 之于 CPAN,进而开发出 npm。
通过 npm 可以管理项目的需要和系统需要的模块。常用命名有:
## 项目本地安装与卸载
npm install --save package
npm uninstall --save package
## 系统全局安装与卸载
npm install --global package
npm uninstall --global package
2、认识 package.json
package.json 是描述一个 package 的文件,包含了模块的名称、版本、依赖等其他信息。
{
"name": "YOUR_PACKAGE_NAME",
"version": "1.0.0",
"private": false,
"description": "模块描述",
"scripts": {},
"preferGlobal": false,
"bin": {},
"main": "index.js",
"keywords": [
"关键词"
],
"author": {
"name": "cloudcome",
"email": "cloudcome@163.com",
"url": "http://ydr.me"
},
"homepage": "模块主页,通常是 github 主页",
"repository": {
"type": "git",
"url": "模块仓库主页,通常是 github 主页"
},
"bugs": {
"url": "模块 bug 反馈主页,通常是 github issues 页"
},
"dependencies": {},
"devDependencies": {},
"licenses": "MIT"
}
更多详细描述见这里 https://docs.npmjs.com/files/package.json 。
3、书写主程序
假设我们要写一个 package,名字叫 hei,使用者必须全局安装,实现以下效果:
< hei 你好
> 你好
< hei nodejs
> nodejs
< hei 再见
> 再见
重复你说的话。
新建文件夹 nodejs-hei
,目录结构为:
- nodejs-hei
|-- bin
| `-- hei
|-- index.js
|-- package.json
`-- readme.md
index.js
/**
* repeat what you say
* @author ydr.me
* @date 2015-04-20 14:28:37
*/
'use strict';
module.exports = function (what) {
return what;
};
package.json
{
"name": "hei",
"version": "1.0.0",
"private": false,
"description": "repeat what you say",
"scripts": {},
"preferGlobal": true,
"bin": {
"hei": "./bin/hei"
},
"engines": {
"node": ">= 0.10.0"
},
"main": "index.js",
"keywords": [
"repeat",
"cloudcome",
"ydr.me"
],
"author": {
"name": "cloudcome",
"email": "cloudcome@163.com",
"url": "http://ydr.me"
},
"homepage": "https://github.com/cloudcome/nodejs-hei",
"repository": {
"type": "git",
"url": "https://github.com/cloudcome/nodejs-hei"
},
"bugs": {
"url": "https://github.com/cloudcome/nodejs-hei/issues"
},
"dependencies": {},
"peerDependencies": {},
"devDependencies": {},
"licenses": "MIT"
}
- bin 描述的是命令工具的文件
- main 指向的入口文件
readme.md
# hei
repeat what you say
4、书写 bin 文件
bin/hei:
#!/usr/bin/env node
var args =process.argv.slice(2);
var what = args.join(' ');
console.log(what);
注意:
bin 文件的换行符必须是 LF 格式,否则无法在 Linux 内核下正常执行。
5、测试
# 切换到当前项目目录
< node ./bin/hei 呵呵 你好
> 呵呵 你好
6、发布 package
1、首先需要在 npmjs.com 上注册账号: https://www.npmjs.com/signup
2、然后,在命令行里:
npm adduser
会提示你输入用户名和密码。
3、发布
< npm publish
> + hei@1.0.0
4、发布完成
全局安装刚才发布的模块
sudo npm install -g hei
在命令行里敲击:
< hei hello world
> hello world
7、附件
文章示例的 package:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Webstorm 入门为什么我要推荐她
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论