npm 是Node 的模块管理器,功能极其强大。 它是Node 得到成功的重要缘由之一。 正由于有了npm,咱们只要一行命令,就能安装别人写好的模块。html
npm的基础知识这边就不作表述的,下面提供一些npm基础知识的参考
npm官网
npm 模块安装机制简介node
那么下面来介绍一下,如何建立本身的第一个node模块,并把这个模块上传到npm上面,让别人能够用咱们的模块git
Node.js模块就是发布到npm的代码包,npm
建立一个新模块的第一步就是建立一个package.json文件。
你能够用npm init来建立package.json文件。
这个过程当中命令行会逐步提示你输入这个模块的信息,
其中模块的名字和版本号是必填项json
建立好的package.json是长这样的bash
你还须要一个入口文件,
若是你使用默认值的话,那就会是index.js.
建立完package.json文件以后,你就要开始写代码包里的内容了,
这里举个最简单的例子,在默认的index.js里写一个要导出的函数,
这个函数也就是别人的代码里能够import或者require的。服务器
exports.showMsg = function () {
console.log("This is my first module");
};复制代码
这样的话,你的node模块就已经建立完成了函数
登陆须要输入用户名,密码,还有邮箱,这些都是刚刚注册时候填写的ui
npm publish 发布包
发布过程会把整个目录发布,不想发布的内容模块,
能够经过 .gitignore 或 .npmignore 文件忽略this
发布成功以后能够去npm官网搜索一下,是否已经存在
npm
发布过程可能会遇到这样的一个问题
使用 cnpm 的注意报错:
no_perms Private mode enable, only admin can publish this module
设置回本来的就能够了
npm config set registry registry.npmjs.org
发布完成以后,若是还想回到以前的cnpm,使用下面的命令
npm config set registry registry.npm.taobao.org
假设已经成功发布了,而且包名叫作toniqian-test-module,
这时候能够新建一个空目录,cd进去,运行npm install toniqian-test-module,而后在这个目录下会出现一个叫node_modules的文件夹,你以前写的包就会出如今这个文件夹下面。
而后写一个index.js,代码以下
var test = require('toniqian-test-module');
test.showMsg();复制代码
运行index.js
node index.js复制代码
运行结果显示
This is my first module复制代码
那么刚刚上传的包,目前已经可使用,到目前的话,
你已经成功建立了一个npm包了
当你包的内容修改以后,好比
exports.showMsg = function () {
console.log("This is my second module");
};复制代码
修改了提示文字,那么咱们须要 npm version
update_type就是版本号的意思,会自动更新package.json里面的版本号
而后从新 npm publish,更新就会完成