Node.js 模块系统

Node.js 模块系统

参考https://www.runoob.com/nodejs/nodejs-module-system.html

  • 文件模块一一对应;
  • 一个Node.js文件就是一个模块,这个模块可能是JavaScript代码、JSON或者编译过的C/C++拓展。

引入模块

语法

  require('路径+模块的文件名')

通过require()来获取指定Node.js文件暴露的exports对象,模块文件拓展名可省略。

引出模块

语法

  // 1.第一种方式
  exports.xxx = function(){};

  // 2.第二种方式
  function xxx(){};
  modules.exports = xxx;
  
  //然后在其他文件中就可以
  var xxx = require('路径+文件名')
  • 模块中要写成一个function(){}的形式,然后赋值给exports.模块名或者modules.exports(此时不能是匿名function);
  • 然后function中可以定义字段和方法等。
  • 不建议同时使用exports.模块名和modules.exports;
  • exports.模块名是module.exports的一个地址引用,Node.js只会导出module.exports的指向

模块的加载

模块的种类

Node.js中存在4类模块(原生模块和3种文件模块)

  • 原生模块:http、fs、path等
  • 相对路径模块:./mod或../mod等
  • 绝对路径模块
  • 通过包管理器安装的模块等

加载顺序的原则

  • 文件模块 >> 原生模块
  • 缓存区中已有 >> (需要额外加载 >> 额外加载后放入缓存区)
posted @ 2020-12-27 09:49  pangqianjin  阅读(93)  评论(0)    收藏  举报