node.js中的require使用详解


Posted in Javascript onDecember 15, 2014

代码注释里已经描述的非常的清晰,这里就不多废话了,直接奉上代码:

/*在node中,可以使用require()函数来加载模块.

 * require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在require函数中只需要指定模块名即可.

 * */

//建立一个页面2.js;代码如下

var name="思思博士";

exports.name=name;

//建立一个页面1.js;代码如下

var two=require("./2.js");

console.log(two.name);

//输出结果:思思博士
/*

 * 在node中所有的脚本文件都是一个模块文件,因此1.js也是一个模块文件,又由于该文件是在命令行窗口中通过node命令被直接运行的,因此在node中该模块文件被定义为应用程序的主模块

 * 可以用如下的方法检测出当前的模块是否是主模块

 * */

if(module===require.main){

    console.log("当前模块时主模块");

}

//输出结果:当前模块时主模块
//2.js代码

var name="思思博士";

console.log(name);

exports.name=name;
//1.js代码:

var two=require("./2.js");

var two=require("./2.js");

//虽然引用了2次,但是只是执行了1次console.log(name)的输出.
/*require.resolve(str)

 * 在node中,可以使用这个函数来查询某个模块文件的带有完整绝对路径的文件名.

 * */

var url=require.resolve("./2");

console.log(url);

//输出结果:E:\node\gys\2.js
/*require.cache

 * 在node中,这个属性代表了所有已被加载模块的缓存区.

 * */
var two=require("./2.js");

var cache=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代码

var name="思思博士";

console.log(name);

//1.js代码

//当使用delete关键字删除缓存区中缓存的某个模块对象后,下次加载该模块时将重新运行该模块中的代码.使用代码:
var two=require("./2.js");

var two1=require("./2.js");

console.log("删除前")

delete require.cache[require.resolve("./2.js")];

console.log("删除后");

var two2=require("./2.js");

/*

 * 输出结果:

 * 思思博士

 * 删除前

 * 删除后

 * 思思博士

 * */

小伙伴们是否清楚了node.js中require的使用方法了呢,如有疑问,请留言。

Javascript 相关文章推荐
完美解决JS中汉字显示乱码问题(已解决)
Dec 27 Javascript
JavaScript 指导方针
Apr 05 Javascript
跨域传值即主页面与iframe之间互相传值
Dec 09 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
Dec 18 Javascript
javascript实现类似java中getClass()得到对象类名的方法
Jul 27 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 Javascript
js实现返回顶部效果
Mar 10 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
js前端导出Excel的方法
Nov 01 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 26 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 #Javascript
分享20个提升网站界面体验的jQuery插件
Dec 15 #Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
Dec 15 #Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 #Javascript
node中socket.io的事件使用详解
Dec 15 #Javascript
node.js中使用socket.io的方法
Dec 15 #Javascript
Lua表达式和控制结构学习笔记
Dec 15 #Javascript
You might like
用 PHP5 轻松解析 XML
2006/12/04 PHP
php+mysql分页代码详解
2008/03/27 PHP
php explode函数实例代码
2012/02/27 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
用Python编程实现语音控制电脑
2014/04/01 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
Python decimal模块使用方法详解
2020/06/08 Python
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
打架检讨书500字
2014/01/29 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
2014年学前班工作总结
2014/12/08 职场文书
工商局个人工作总结
2015/03/03 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
Golang 并发编程 SingleFlight模式
2022/04/26 Golang
Mysql 一主多从的部署
2022/05/20 MySQL