模块化

101 阅读1分钟

模块化

介绍

模块化指的就是将一个大的功能拆分为一个一个小的模块,通过不同的模块的组合来实现一个大功能。

  • 在node中一个 js 文件就是一个模块
  • 模块内部代码对于外部来说都是不可见的,可以通过两种方式向外部暴露

模块创建

一、创建 JS 文件,编写代码(假设当前文件名为 test.js)

function test(){
    console.log('test');
}

二、在文件中对外暴露

module.exports = test;

这里有几点注意:

  • module.exports 可以暴露任意数据
  • 可以使用 module.exports 暴露多个数据
  • exports 也可以暴露数据,不过不能使用 exports = xxx 的形式

模块引入

使用 require 引入文件即可

var test = require('./test.js');

这里有几点注意:

  • 如果没有加文件后缀,会按照以下后缀加载文件

    • .js fs模块同步读取文件编译执行
    • .json fs模块同步读取文件,用JSON.parse()解析返回结果
    • .node 这是c/c++编写的扩展文件,通过dlopen()方法编译
  • 其他扩展名 会以.js文件载入

  • 如果是文件夹则会默认加载该文件夹下 package.json 文件中 main 属性对应的文件

  • 如果 main 属性对应的文件不存在,则自动找 index.js index.json

  • 如果是内置模块或者是 npm 安装的模块,直接使用包名字即可

  • npm 引入包时,如果当前文件夹下的 node_modules 没有,则会自动向上查找

简化

导出

module.exports       

导入

var res = require('./module.js');

\