从零开始编写一个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();