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中调用WebService方法小结
Mar 28 Javascript
基于jquery的鼠标拖动效果代码
May 30 Javascript
jQuery.each()用法分享
Jul 31 Javascript
JS定时器实例
Apr 17 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
Jul 01 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
Aug 12 Javascript
javascript获取URL参数与参数值的示例代码
Dec 20 Javascript
JavaScript中getUTCMinutes()方法的使用详解
Jun 10 Javascript
纯jquery实现模仿淘宝购物车结算
Aug 20 Javascript
Node.js中常规的文件操作总结
Oct 13 Javascript
jquery 校验中国身份证号码实例详解
Apr 11 jQuery
Vue v-bind动态绑定class实例方法
Jan 15 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
2006/11/25 PHP
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
python动态参数用法实例分析
2015/05/25 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
分析python请求数据
2018/08/19 Python
利用python循环创建多个文件的方法
2018/10/25 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
Python基于内置函数type创建新类型
2020/10/22 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
前台文员岗位职责及工作流程
2013/11/19 职场文书
读书心得体会
2013/12/28 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
公司股东合作协议书
2014/09/14 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
质检员岗位职责范本
2015/04/07 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle