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 * */