美文网首页前端开发
node模块引用相关

node模块引用相关

作者: 李轻舟 | 来源:发表于2019-01-24 18:59 被阅读2次

在文件/home/somebody/workspace/somemodule.js中第一行引用了一个模块:require(‘othermodule‘),请问required 的查找模块的顺序

A. /home/somebody/workspace/node_modules/othermodule/index.js

B. /home/somebody/workspace/node_modules/othermodule. Js

C.CORE MODULES named othermodule

D./home/somebody/node_modules/othermodule/index.js

解析:

(1):首先,Node在当前目录下查找package.json(CommonJS包规范定义的包描述文件),通过JSON.parse()解析出包描述对象,从中取出main属性指定的文件名进行定位。如果文件缺少扩展名,将会进入扩展名分析的步骤。

(2):而如果main属性制定的文件名错误,或者压根没有package.json文件,Node会将index当做默认文件名,然后依次查找index.js、index.node、index.json.

(3):如果在目录分析的过程中没有定位成功任何文件,则自定义模块进入下一个模块路径进行查找。如果模块路径数组都被遍历完毕,依然没有查找到目标文件,则会抛出查找失败异常。

按照上面的思路,首先应该查找package.json文件,看看里面有没有核心模块,应该是C最先,othermodule不是核心模块,那么接着应该进入扩展名分析的步骤,就应该是查找othermodule. js,对应B,紧接着就是以index为默认文件名,也就是A,再接下来就是上一个文件目录D了,

所以答案是: C B A D

相关文章

  • node模块引用相关

    在文件/home/somebody/workspace/somemodule.js中第一行引用了一个模块:requ...

  • Node.js(四)操作系统模块os

    Node.js的os模块是属于其核心模块之一,提供了操作相关的使用方法,引用方式如下:const os = req...

  • node.js之模块机制

    什么是模块 Node.js的模块遵循Common.js的模块规范,包括模块引用,模块定义和模块标识。 模块引用 模...

  • node学习笔记之模块载入方式与机制

    Node.js中模块可以通过文件路径或名字获取模块的引用。模块的引用会映射到一个js文件路径,除非它是一个Node...

  • module.exports 与exports关系

    node中,module.export和export都是模块对外输出的引用,通俗点来说,就是引用模块的接口。默认情...

  • Node模块机制

    Q&A 1.node模块机制有什么用?答:node模块机制使你可以选择要暴露给引用这个模块的程序的变量、函数或对...

  • CommonJS 模块加载顺序

    require 1、核心模块2、相对路径文件模块3、绝对路径相对模块4、非路径模块 node_modules 引用...

  • node模块 环境变量:process.env

    模块概览 process是node的全局模块,作用比较直观。可以通过它来获得node进程相关的信息,比如运行nod...

  • 关于Nodejs模块系统的了解

    node四大模块:全局模块、系统模块、自定义模块、核心模块 全局模块:是一个对象,随时随地都能进行访问,不需要引用...

  • nodejs——commonJS

    Node 应用由模块组成,采用 CommonJS 模块规范。 每个模块有自己的变量和方法,需要一种方式去暴露和引用...

网友评论

    本文标题:node模块引用相关

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