面试官:说说 Node 文件查找的优先级以及 Require
方法的文件查找策略?
一、模块规范
NodeJS对CommonJS进行了支持和实现,让我们在开发node的过程中可以方便的进行模块
化开发:
• 在Node中每一个js文件都是一个单独的模块
• 模块中包括CommonJS规范的核心变量:exports、module.exports、require
• 通过上述变量进行模块化开发
而模块化的核心是导出与导入,在Node中通过exports与module.exports负责对模块中的
内容进行导出,通过require函数导入其他模块(自定义模块、系统模块、第三方库模块
)中的内容
二、查找策略
require方法接收一下几种参数的传递:
• 原生模块:http、fs、path等
• 相对路径的文件模块:./mod或../mod
• 绝对路径的文件模块:/pathtomodule/mod
• 目录作为模块:./dirname
• 非原生模块的文件模块:mod