作为一个nodejs从业者,如果说不了解npm,那还真的说不过去。说来惭愧,我一直以为发布npm模块是一件很高深的事情,于是在2014年初刚接触的时候直接避开了。现在突然有了兴趣,然后发现,比想象中的还要容易。截至目前,已经有201865 个package了。
今作此文,记录之。
1. 注册
首先,你得有个账号 点击这里 进行注册。可以选择发布公有或者私有项目,但是私有项目是收费的,本着开源的精神,我还是选择了公有。
2. 添加用户
$ npm adduser
Username:
Password:
Email: (this IS public)
3. 初始化package
相信大家对package.json也不会陌生,里面包含了整个项目的基本信息。键入npm init,填写相关资料即可。在这个过程中,可以配置git的相关信息。我的package如下:
{
"name": "vinxent",
"version": "1.0.3",
"description": "test here",
"main": "index.js",
"scripts": {
"test": "node ./test"
},
"keywords": [
"test"
],
"author": "vinxent",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/vincentgor/npm-vinxent.git"
},
"bugs": {
"url": "https://github.com/vincentgor/npm-vinxent/issues"
},
"homepage": "https://github.com/vincentgor/npm-vinxent#readme"
}
4. 编写属于自己的模块
怎么写,随便你。我只是在index.js随便写了个方法。
var vinxent = {};
// vinxent 测试
vinxent.test = function (argument) {
console.log('welcome to vinxent');
console.log(argument);
};
module.exports = vinxent;
5. 发布
终于要到激动人心的发布了。只要在这个项目根目录下键入npm publish即可,npm会自动帮你发布到npmjs.org上面。是不是简单?没错,非常简单。
6. 如何使用
在你的个人项目里安装这个模块。
npm install --save vinxent
然后
var vinxent = require('vinxent');
vinxent.test('hi');
然后,就没有然后了。
7. 注意事项
发布模块确实是非常简单,但有些东西还是得说一下。首先,每更新发布一次,版本(version)必须比原有的要大,不然会发布新失败。然后,想要更新package的相关信息,只要再npm init一次即可。
8. 没有了,洗洗睡。