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 相关文章推荐
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
Jul 05 Javascript
vue.js将unix时间戳转换为自定义时间格式
Jan 03 Javascript
原生js实现轮播图的示例代码
Feb 20 Javascript
浅谈vue.js导入css库(elementUi)的方法
Mar 09 Javascript
jquery实现搜索框功能实例详解
Jul 23 jQuery
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 Javascript
JavaScript如何实现图片处理与合成
May 29 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
基于mysql的bbs设计(一)
2006/10/09 PHP
PHP 面向对象详解
2012/09/13 PHP
测试php函数的方法
2013/11/13 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
bootstrap table实例详解
2017/01/06 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
深入浅出学习python装饰器
2017/09/29 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
早餐连锁店计划书
2014/01/08 职场文书
产品质量承诺范本
2014/03/31 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
结婚老公保证书
2015/02/26 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang