node.js使用require()函数加载模块


Posted in Javascript onNovember 26, 2014

详细说明均以写在注释之中,这里就不??铝耍?』锇槊亲约合晗缚窗桑??虮鸢勺⑹偷背煽掌?恕?/p>

/*在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中require()函数的用法了呢,本文是自己的一些理解,如有遗漏,还请大家指正。

Javascript 相关文章推荐
IE本地存储userdata的一个bug说明
Jul 01 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
May 17 Javascript
Lab.js初次使用笔记
Feb 28 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
Apr 26 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
Vue原理剖析 实现双向绑定MVVM
May 03 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
May 17 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
使用layui实现树形结构的方法
Sep 20 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
Nov 26 #Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
Nov 26 #Javascript
javascript 原型链维护和继承详解
Nov 26 #Javascript
jquery提示效果实例分析
Nov 25 #Javascript
jQuery操作cookie方法实例教程
Nov 25 #Javascript
JavaScript常用验证函数实例汇总
Nov 25 #Javascript
JavaScript导出Excel实例详解
Nov 25 #Javascript
You might like
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
IE中createElement需要注意的一个问题
2010/07/13 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
javascript基础知识
2016/06/07 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
python和php学习哪个更有发展
2020/06/17 Python
django中ImageField的使用详解
2020/12/21 Python
自荐信结尾
2013/10/27 职场文书
个人生活学习自我评价范文
2013/11/26 职场文书
团工委书记自荐书范文
2013/12/17 职场文书
出国考察邀请函
2014/01/21 职场文书
学期自我评价
2014/01/27 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
骨干教师申报材料
2014/12/17 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
关于倡议书的范文
2015/04/29 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL