1.npm是什么?
npm 是Node 的模块管理器,功能极其强大。 它是Node 获得成功的重要原因之一。 正因为有了npm,我们只要一行命令,就能安装别人写好的模块。
npm的基础知识这边就不做表述的,下面提供一些npm基础知识的参考
npm官网
npm 模块安装机制简介
那么下面来介绍一下,如何创建自己的第一个node模块,并把这个模块上传到npm上面,让别人可以用我们的模块
2.创建第一个node模块
Node.js模块就是发布到npm的代码包,
创建一个新模块的第一步就是创建一个package.json文件。
你可以用npm init来创建package.json文件。
这个过程中命令行会逐步提示你输入这个模块的信息,
其中模块的名字和版本号是必填项
创建好的package.json是长这样的
你还需要一个入口文件,
如果你使用默认值的话,那就会是index.js.
创建完package.json文件之后,你就要开始写代码包里的内容了,
这里举个最简单的例子,在默认的index.js里写一个要导出的函数,
这个函数也就是别人的代码里可以import或者require的。
exports.showMsg = function () {
console.log("This is my first module");
};
这样的话,你的node模块就已经创建完成了
3.如何发布到npm服务器上
3.1.注册一个npm账号,2个方式,最简单的就是去npm官网注册
- npm注册
- 还有一个方式就是 npm adduser,按照它的提示去创建
3.2.首次需要登录,npm login 存储证书到本地,后面就不需要每次都登录的
登录需要输入用户名,密码,还有邮箱,这些都是刚刚注册时候填写的
3.3.开始发布
npm publish 发布包
发布过程会把整个目录发布,不想发布的内容模块,
可以通过 .gitignore 或 .npmignore 文件忽略
发布成功之后可以去npm官网搜索一下,是否已经存在
npm
发布过程可能会遇到这样的一个问题
使用 cnpm 的注意报错:
no_perms Private mode enable, only admin can publish this module
设置回原本的就可以了
**npm config set registry http://registry.npmjs.org **
发布完成之后,如果还想回到之前的cnpm,使用下面的命令
npm config set registry https://registry.npm.taobao.org
4.创建一个案例,引用刚上传的包
假设已经成功发布了,并且包名叫做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包了
5.如何更新npm包
当你包的内容修改之后,比如
exports.showMsg = function () {
console.log("This is my second module");
};
修改了提示文字,那么我们需要 npm version <update_type>
update_type就是版本号的意思,会自动更新package.json里面的版本号
然后重新 npm publish,更新就会完成
网友评论