关于自己理解的nodejs中的export

module.export

再nodejs环境中,创建一个文件就是创建一个模块,js或者json都有不同的方式去解析,创建一个模块的时候,会自动创建module对象 这个对象的exports是这个模块对外暴露的接口 所以一般会使用module.exports 来导出模块 同时也会创建 exports是module.exports的引用 我猜是因为 module.exports字母太多 所以用exports 来简写吧  所以 一开始module.exports = exports = {}


module.export 与require


我觉得这个图之前都是对的  但是最后那里的exports 应该是 module.exports


最后我觉得这一段总结的比较好: 来源http://www.cnblogs.com/dolphinX/p/3485260.html

node.js有几种搜索加载模块方式

1.核心模块优先级最高,直接使用名字加载,在有命名冲突的时候首先加载核心模块

2.文件模块只能按照路径加载(可以省略默认的.js拓展名,不是的话需要显示声明书写)

绝对路径

相对路径

3.查找node_modules目录,我们知道在调用npm install 命令的时候会在当前目录下创建node_module目录(如果不存在) 安装模块,当 require 遇到一个既不是核心模块,又不是以路径形式表示的模块名称时,会试图 在当前目录下的 node_modules 目录中来查找是不是有这样一个模块。如果没有找到,则会 在当前目录的上一层中的 node_modules 目录中继续查找,反复执行这一过程,直到遇到根 目录为止。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容