node的模块管理

 1 /*
 2 *一:从node_modules目录中加载模块;
 3 * 向这样的写法:
 4 * require("aa.js")
 5 * 则node将aa.js文件视为node_modules目录下的一个文件
 6 * 如果aa.js文件的绝对路径是这样的:e:nodeitemitem1gys
ode_modulesaa.js
 7 * 在gys文件夹下有app.js,和node_modules是同一级
 8 * */
 9 //aa.js文件中的代码
10 var name="guoyansi";
11 function setname(n){
12     name=n;
13 }
14 function getname(){
15     return name;
16 }
17 exports.getname=getname;
18 exports.setname=setname;
19 //app.js代码:
20 var aa=require("aa.js");
21 console.log(aa.getname());
22 aa.setname("思思博士");
23 console.log(aa.getname());
24 /*结果是:
25 *guoyansi
26 * 思思博士
27  */
28 /*
29 * 他的搜索过程是这样的.
30 * 
odeitemitem1gys
ode_modulesaa.js
31 * 
odeitemitem1
ode_modulesaa.js
32 * 
odeitem
ode_modulesaa.js
33 * 
ode
ode_modulesaa.js
34 * node_modulesaa.js
35 * */
36 //如果这些路径都找不到指定的文件,那么会抛出异常
37 
38 /*
39 * 二:使用目录来管理模块
40 * 在node中,可以将目录名指定为模块名,以便可以通过目录来管理模块,只需要为该目录指定一个入口点.
41 * 在node-modules子目录中创建foo文件夹,在foo中创建index.js文件,当使用如下代码时,将会自动加载index.js模块
42 * var index=require("foo");
43 * 现在不想让加载的文件名叫index.js,叫myFile.js
44 * 在执行的话 就会出现异常
45 * 可以这样写;
46 *在foo文件夹中添加package.json文件
47 * 代码这样
48 * {
49 *   "main":"./myFile.js"
50 * }
51 * 这样执行的效果和上面是一样的
52 * */
53 
54 /*
55 * 从全局目录中加载模块
56 * 如果在操作系统的环境中设置了NODE_PATH变量,并将变量值设置为一个有效的磁盘目录,当你在require函数中只指定模块名,而没有指定模块文件的路径,而且node.js从其他路径中寻找不到需要被加载的模块文件时,node将从node_path变量所指定的磁盘目录中寻找并加载该模块文件.
57 * */
原文地址:https://www.cnblogs.com/guoyansi19900907/p/4029792.html