nodejs中的require解析

          

模块是一门语言编写大项目的基石,因此,了解如何组织、编写、编译、加载模块很重要。这里主要谈谈Node中的模块加载。


Node中的模块,主要使用require来加载。

但凡编程语言加载模块,都需要知道模块的位置。加载系统模块,一般不会出问题,主要谈谈加载文件型模块。


文件模块的加载,主要依赖于文件或文件夹的位置。看具体实例:


require("./")  --- 加载本文件夹下面的package.json,如果没有,则加载index.js、index.node

require("some.js")  --加载本文件夹下面的some.js文件

require("lib/some.js") --加载lib/some.js文件

require("modulename") --加载当前目录node_modules/modulename文件夹内的package.json,如果没有,则加载index.js、index.node。如果当前目录找不到以上内容,则进入指定全局模块缓存目录中加载modulename文件夹中的内容,如还未找到,则进入系统环境变量NODE_PATH指定的路径中加载modulename文件夹内的内容。涉及到的目录,请参看npm路径设置。


目前仅列出以上方式,其他方式,请细读require的源代码。

create by twkun
2013-12-13

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章