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 相关文章推荐
CheckBox 如何实现全选?
Jun 23 Javascript
使用TextRange获取输入框中光标的位
Oct 14 Javascript
根据当前时间在jsp页面上显示上午或下午
Aug 18 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
jquery实现通用的内容渐显Tab选项卡效果
Sep 07 Javascript
jquery实现定时自动轮播特效
Dec 10 Javascript
Angular 4.x中表单Reactive Forms详解
Apr 25 Javascript
深入理解vue-loader如何使用
Jun 06 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
vue兄弟组件传递数据的实例
Sep 06 Javascript
vue+mock.js实现前后端分离
Jul 24 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 三维饼图的实现代码
2008/09/28 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php封装的page分页类完整实例
2016/10/18 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
php批量修改表结构实例
2017/05/24 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
JS跨域总结
2012/08/30 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
python实现中文输出的两种方法
2015/05/09 Python
详解python3实现的web端json通信协议
2016/12/29 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
简单了解python的break、continue、pass
2019/07/08 Python
python scatter函数用法实例详解
2020/02/11 Python
Python 在函数上添加包装器
2020/07/28 Python
python opencv肤色检测的实现示例
2020/12/21 Python
python 实现有道翻译功能
2021/02/26 Python
小车司机岗位职责
2013/11/25 职场文书
公休请假条
2014/04/11 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers