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中有关IE版本检测
Jan 04 Javascript
js中top的作用深入剖析
Mar 04 Javascript
jQuery表格插件datatables用法汇总
Mar 29 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
js实现文字向上轮播功能
Jan 13 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
基于vue展开收起动画的示例代码
Jul 05 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
使用pm2部署node生产环境的方法步骤
Mar 09 Javascript
详解在HTTPS 项目中使用百度地图 API
Apr 26 Javascript
Javascript Worker子线程代码实例
Feb 20 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 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
提升PHP执行速度全攻略(下)
2006/10/09 PHP
PHP中对数据库操作的封装
2006/10/09 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
PyQt5每天必学之进度条效果
2018/04/19 Python
对pandas中Series的map函数详解
2018/07/25 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
django创建css文件夹的具体方法
2020/07/31 Python
如何做好总经理助理
2013/11/12 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
应届生自荐书
2014/06/23 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
思品教学工作总结
2015/08/10 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
创业计划书之养殖业
2019/10/11 职场文书
改造DE1103三步曲
2022/04/07 无线电
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android