从零开始编写一个NPM插件并发布
NPM以及包简介
NPM就是最受欢迎的javascript的包管理工具,在NPM上面有着大量的优秀的框架以及库可以使用。我们只需直接安装,然后就可以很方便地调用了,超级方便,但是怎么发布一个自己的NPM库供别人下载使用呢,这里是具体的教程。
准备工作
- 注册NPM账号,用来上传发布你的库
地址:https://www.npmjs.com/ - 注册github账号,用来存放提交你的代码
地址:https://www.github.com/ - 本地登录NPM账号
在终端输入 
npm adduser
输入用户名,密码,邮箱登录(如果使用了镜像源,请切换回NPM npm config set registry https://registry.npmjs.org/),输入
npm whoami
如果出现了用户名,则代表已经登录成功。
创建自己的NPM库
- 
新建目录
 
mkdir myFirstNpmPackage
cd myFirstNpmPackage/
- 
初始化
 
npm init
按照提示输入,最后的结果大致会类似这样:
{
  "name": "myFirstnpmPackageTry",
  "version": "1.0.0",
  "description": "try to build and publish my first npm package just for fun",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "huxinmin",
  "homepage": "",
  "repository": "",
  "dependencies": {
    "chalk": "^1.1.3",
    "esutils": "^2.0.2",
    "js-tokens": "^3.0.2"
  },
  "license": "ISC"
}
其中的main字段,可以指定你require('..')这个包的js的路径,一般默认是index.js
- 
编写
README.md 
每一个插件都有自己的README.md介绍了项目的背景,使用方法等等,我们也需要在项目的根目录下面新建一个README.md文件,然后编写自己的插件介绍,使用方法。如果想要插入一些漂亮的版本号图标的话,可以去https://shields.io/上面,下拉到网站下面,输入文字,版本号颜色,点击Make badge就得到了你制作的图标地址,嵌在页面即可。
- 
编写
.gitignore 
这样在上传代码的时候,你就可以自定义需要忽略的文件或者目录,就不会上传到github上面。
开始编写
本教程,我就写的简单一些,直接输出一个信息就好了,但是编码的时候要符合CommonJs风格,最后要导出你的对象,新建一个index.js:
function myFirstnpmPackageTry(){
    console.log("build my first npm package");
};
module.exports = myFirstnpmPackageTry;
发布
在命令行使用命令
npm publish
这里有几个需要注意的地方:
- package名字不能和已经存在的包同名
 - package名字必须是小写,不能出现大写
即可发布成功 
取消发布
npm unpublish myfirstnpmpackagetry --force
更新
- 修改你的
package.json版本号 - 使用发布的命令进行发布
npm publish 
下载使用
直接在项目中下载
npm install --save-dev myfirstnpmpackagetry
然后在文件中使用即可
var test = require('myfirstnpmpackagetry');
test();