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中简单的实现像C#中using功能(有源码下载)
Jan 09 Javascript
JS 用6N±1法求素数 实例教程
Oct 20 Javascript
关于div自适应高度/左右高度自适应一致的js代码
Mar 22 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
JavaScript实现星级评分
Jan 12 Javascript
vue地区选择组件教程详解
May 04 Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 Javascript
使用vue实现各类弹出框组件
Jul 03 Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 Javascript
JS图片预加载三种实现方法解析
May 08 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 a simple smtp class
2007/11/26 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
原生JS实现跑马灯效果
2017/02/20 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
Pyhton中防止SQL注入的方法
2015/02/05 Python
python比较两个列表是否相等的方法
2015/07/28 Python
python中for用来遍历range函数的方法
2018/06/08 Python
详解Python字典小结
2018/10/20 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
python 绘制场景热力图的示例
2020/09/23 Python
python中的对数log函数表示及用法
2020/12/09 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
好的自荐信的要求
2013/10/30 职场文书
学生周末长期请假条
2014/02/15 职场文书
咖啡店创业计划书
2014/08/15 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
指导教师推荐意见
2015/06/05 职场文书
红色故事汇观后感
2015/06/18 职场文书
Python中tqdm的使用和例子
2022/09/23 Python