node.js 的模块化与 npm
node.js 的模块化与 npm
模块化是将问题进行模块划分,进行模块化可以让每个模块可以分解更换或组合,使用模块化拆分可以提高代码的复用性、可维护性和按需加载
node.js 的模块分为内置模块,自定义模块和第三方模块,内置模式是由 node.js 官方提供的,比如我们前两篇文章中用到的 http 模块、fs 文件模块、path 路径模块,自定义模块就是用户自定义的一些 js 文件,第三方模块显然就是第三方提供的一些模块,也叫做包。
我们在使用 require 方法引用其他模块的时候,会执行被加载的模块的代码
下面咱在说一下模块作用域,所谓模块作用域也就是模块的访问权限,使用模块作用域可以防止全局变量污染
node.js 中的 module 对象存储了当前模块的一些信息,通过 module 对象的 exports 可以实现模块的共享,使用 require()模块引入的时候,共享的对象是 module.exports 指向的对象。
node.js 遵循 CommonJs 模块规范,CommonJs 规范规定 module 代表一个模块,而模块的对外开放的接口是 module.exports 指向的对象,引用模块的时候使用 require 方法
npm
npm 是包管理工具,也就是用于下载第三方模块的工具,可以通过 npm -v 来查看包管理工具的版本信息,可以通过 npm install 命令来安装第三方包,安装指定版本的话在包名后加 @版本号
对于版本号的定义,采用点分十进制,第一个数字表示大版本,第二个数字表示功能版本,第三个数字表示 bug 修复版本
第三方包安装完成后会多出一个 node_modules 文件夹和 package-lock.json 的配置文件,node_modules 是用来存放项目中引入的第三方包的文件夹,package-lock.json 记录的是引用包的版本信息名称等。
总结
这篇文章主要对 node.js 的模块化做了简单的介绍,node.js 的模块化遵循 CommonJs 规范,对外开放的接口是 module.exports 指定的对象,然后介绍了一下第三方的包管理工具 npm
版权声明: 本文为 InfoQ 作者【周杰伦本人】的原创文章。
原文链接:【http://xie.infoq.cn/article/3718fff157f3c5fae28babe55】。文章转载请联系作者。
评论