nodeJs模块的理解以及加载方式

来源:互联网 发布:淘宝怎么查询历史价格 编辑:程序博客网 时间:2024/05/17 16:43

nodeJs的模块(从网上整理):
1、模块介绍:
nodeJs中的模块包括核心模块和文件模块。其中核心模块被编译成二进制文件,只需要通过require("net")这中格式进行引用。文件模块则包括js、json、.node文件,在引用的时候,也需要加上路径,比如绝对路径:/.../.../xxx.js,相对路径:./xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录。如果既不加/.../、../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹加载。

2、文件夹作为模块:
首先在文件夹的根目录下面建立一个package.json文件。它标识了一个主模块。一个package.json的内容可能如下:
{ "name" : "some-library",  "main" : "./lib/some-library.js" }
如果这是在一个文件夹./some-library下,那么require('./some-library')时将试图加载./some-library/lib/some-library.js
如果在这个目录下没有package.json文件,node将试图从这个目录下加载index.js或index.node文件。例如,如果上面没有package.json文件,那么require('./some-library')时,将试图加载下面的文件:
./some-library/index.js
./some-library/index.node

3、加载模块的路径:
对于加载模块时既没指出./ ../ /.../时,加载模块的搜索路径。如果'/home/ry/projects/foo.js' 中的文件调用了 require('bar.js') ,node将在下面的位置进行搜索:
/home/ry/projects/node_modules/bar.js
/home/ry/node_modules/bar.js
/home/node_modules/bar.js
/node_modules/bar.js