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 相关文章推荐
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
extjs中form与grid交互数据(record)的方法
Aug 29 Javascript
如何动态的导入js文件具体该怎么实现
Jan 14 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
May 15 Javascript
node.js集成百度UE编辑器
Feb 05 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
checkbox批量选中,获取选中项的值的简单实例
Jun 28 Javascript
详解Js中的模块化是如何实现的
Oct 18 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
使用vuex的state状态对象的5种方式
Apr 19 Javascript
vue debug 二种方法
Sep 16 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 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 Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python自动化操作实现图例绘制
2020/07/09 Python
python进度条显示之tqmd模块
2020/08/22 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
浅谈html5 响应式布局
2014/12/24 HTML / CSS
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
初中生物教学反思
2014/01/10 职场文书
责任担保书范文
2014/05/21 职场文书
环保志愿者活动方案
2014/08/14 职场文书
节能环保演讲稿
2014/08/28 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技