node.js中的require使用详解
代码注释里已经描述的非常的清晰,这里就不多废话了,直接奉上代码:
/*在node中,可以使用require()函数来加载模块.
*require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在require函数中只需要指定模块名即可.
**/
//建立一个页面2.js;代码如下
varname="思思博士";
exports.name=name;
//建立一个页面1.js;代码如下
vartwo=require("./2.js");
console.log(two.name);
//输出结果:思思博士
/*
*在node中所有的脚本文件都是一个模块文件,因此1.js也是一个模块文件,又由于该文件是在命令行窗口中通过node命令被直接运行的,因此在node中该模块文件被定义为应用程序的主模块
*可以用如下的方法检测出当前的模块是否是主模块
**/
if(module===require.main){
console.log("当前模块时主模块");
}
//输出结果:当前模块时主模块
//2.js代码
varname="思思博士";
console.log(name);
exports.name=name;
//1.js代码:
vartwo=require("./2.js");
vartwo=require("./2.js");
//虽然引用了2次,但是只是执行了1次console.log(name)的输出.
/*require.resolve(str)
*在node中,可以使用这个函数来查询某个模块文件的带有完整绝对路径的文件名.
**/
varurl=require.resolve("./2");
console.log(url);
//输出结果:E:\node\gys\2.js
/*require.cache
*在node中,这个属性代表了所有已被加载模块的缓存区.
**/
vartwo=require("./2.js");
varcache=require.cache;
console.log(cache);
/*输出结果:
*{"E:\\node\\gys\\1.js":
{id:".",
exports:{},
parent:null,
filename:"E:\\node\\gys\\1.js",
loaded:false,
children:[[Object]],
paths:
["E:\\node\\gys\\node_modules",
"E:\\node\\node_modules",
"E:\\node_modules"]},
"E:\\node\\gys\\2.js":
{id:"E:\\node\\gys\\2.js",
exports:{name:"思思博士"},
parent:
{id:".",
exports:{},
parent:null,
filename:"E:\\node\\gys\\1.js",
loaded:false,
children:[Object],
paths:[Object]},
filename:"E:\\node\\gys\\2.js",
loaded:true,
children:[],
paths:
["E:\\node\\gys\\node_modules",
"E:\\node\\node_modules",
"E:\\node_modules"]}}
**/
//2.js代码
varname="思思博士";
console.log(name);
//1.js代码
//当使用delete关键字删除缓存区中缓存的某个模块对象后,下次加载该模块时将重新运行该模块中的代码.使用代码:
vartwo=require("./2.js");
vartwo1=require("./2.js");
console.log("删除前")
deleterequire.cache[require.resolve("./2.js")];
console.log("删除后");
vartwo2=require("./2.js");
/*
*输出结果:
*思思博士
*删除前
*删除后
*思思博士
**/
小伙伴们是否清楚了node.js中require的使用方法了呢,如有疑问,请留言。
相关文章
- vue入门篇之Vue.js 组件
- 【Node.js】寒露过三朝,聊聊zlib压缩
- node.js module初步理解详解编程语言
- 快速掌握JS操作MySQL数据库技巧(js操作mysql数据库)
- 快速指南: Linux下安装Node.js(linux安装nodejs)
- 使用Node.js连接MySQL数据库实现数据交互(mysqlnodejs)
- 插入使用Node批量插入MSSQL数据库的实现(node mssql批量)
- node.js 配合 MSSQL 开发进行新一代系统开发(ndoe mssql)
- 使用Node模块操作MSSQL数据库(node mssql模块)
- js延迟加载改变JS的位置加快网页加载速度
- node.js中的events.emitter.listeners方法使用说明
- node.js中的events.emitter.removeListener方法使用说明
- node.js中的buffer.Buffer.byteLength方法使用说明
- node.js中的buffer.toString方法使用说明
- node.js中的buffer.copy方法使用说明
- node.js中的fs.utimes方法使用说明
- node.js中的fs.utimesSync方法使用说明
- node.js中的fs.symlink方法使用说明
- node.js中的fs.readFile方法使用说明
- node.js中的fs.lstat方法使用说明
- node.js中的fs.rename方法使用说明
- node.js中的fs.fchown方法使用说明
- Node.js中使用Log.io在浏览器中实时监控日志(等同tail-f命令)