美文网首页
node中require加载模块

node中require加载模块

作者: hgzzz | 来源:发表于2018-10-16 14:27 被阅读0次

参数问题

require('./index');

传入一个路径,但是没给后缀名,默认加载该路径的 index.js , index.json , index.node,如果都没有,就找index文件夹,文件夹下的 package.json,文件,找到 => 键 main 中定义的入口文件位置比如入口文件是 app.js ,如果没有就依次找 index.js , index.json , ndex.node ,否则就报错

注意 : 以路径名加载一个模块最好写上后缀

require('http')

传入一个模块名称   加载顺序 : 读取缓存 => 核心模块 => 第三方模块

注意 : 加载第三方模块会依次向上查找 如

[ 'D:\\学习资料\\js学习\\nodeStudy\\01-入门\\node_modules',

  'D:\\学习资料\\js学习\\nodeStudy\\node_modules',

  'D:\\学习资料\\js学习\\node_modules',

  'D:\\学习资料\\node_modules',

  'D:\\node_modules' ]

执行

const index = require('./index.js');

执行

比如在当前模块加载 index.js,require 是在内置 module 模块中,也是一个全局方法。首先它会查找缓存中有没有这个模块,有就直接读取返回,没有就创建一个模块的实例 并存到缓存中,然后读取对应的文件并执行里面的代码再返回。读取文件用到 fs.readFileSync() ,所以require()也是一个同步的操作。

返回值

node.js 遵循 Commonjs 标准,每个模块引用时返回一个 module.exports 对象,在父模块中,module.exports 和 exports 指向同一个对象,子模块变量 index 接收到 module.exports 。

注意:虽然指向同一个对象,但是总是返回 module.exports 指向的那个 

相关文章

  • node中require加载模块

    参数问题 require('./index'); 传入一个路径,但是没给后缀名,默认加载该路径的 index.js...

  • exports与module.exports的区别

    它们在node代码中的定义如下: 源码地址 当node加载模块的时候,使用exports, require, mo...

  • node资源模块单次加载

    在node中require不会重复加载模块,也就是无论调用多少次require,获得的模块都是同一个。 modul...

  • Node 面试题整理

    1:简述require()模块加载机制 答:在node中文件即模块,分为原生模块和3种文件模块。具体加载顺序如下图...

  • Node模板引擎使用

    require 加载 文件模块 并执行里面的代码-我们在引用Node中的核心模块是都要使用var fs = req...

  • koa加载解析记录

    1、nodejs下的require, 一切node模块的加载都是从node_modules开始的,打开koa模块p...

  • 使用nodejs实现静态服务器与用到的方法

    添加node内置模块,通过require加载: 整个底层服务器是由node提供的http模块实现的。 创建serv...

  • NodeJS基础

    在node中,一个js文件就是一个模块; 在node中,通过require()函数来引入外部模块;require(...

  • require加载机制及加载规则

    在Node中引入( require )模块,经过如下几个步骤: 路径分析 文件定位 编译执行(加载执行:已编译进了...

  • AMD & ESModules 是什么?

    在CommonJS中可以用require去加载模块。现在假设我们在web环境下,用require去加载模块A。但是...

网友评论

      本文标题:node中require加载模块

      本文链接:https://www.haomeiwen.com/subject/crchzftx.html