node中的require
/*在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的更多相关文章
- node初识——node中的require方法与require.js的区别
出处:http://blog.csdn.net/u013613428/article/details/51966500 作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提 ...
- node中的require和exports
http://cnodejs.org/topic/4f16442ccae1f4aa270010e9
- Node中没搞明白require和import,你会被坑的很惨
ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使 ...
- Node中导入模块require和import??
转自:https://blog.csdn.net/wxl1555/article/details/80852326 S6标准发布后,module成为标准,标准的使用是以export指令导出接口,以im ...
- 关于node中 require 和 ES6中export 、export default的总结
nodejs中 require 方法的加载规则 方法的加载规则 1. 优先从缓存中加载 2. 核心模块 3. 路径形式的模块 4. 第三方模块 一.优先从缓存中加载 main.js:执行加载a.js模 ...
- 深入理解jQuery、Angular、node中的Promise
最初遇到Promise是在jQuery中,在jQuery1.5版本中引入了Deferred Object,这个异步队列模块用于实现异步任务和回调函数的解耦.为ajax模块.队列模块.ready事件提供 ...
- node中的可读流和可写流
javascript的一个不足之处是不能处理二进制数据,于是node中引入了Buffer类型.这个类型以一个字节(即8位)为单位,给数据分配存储空间.它的使用类似于Array,但是与Array又有不同 ...
- 使用express+multer实现node中的图片上传
使用express+multer实现node中的图片上传 在前端中,我们使用ajax来异步上传图片,使用file-input来上传图片,使用formdata对象来处理图片数据,post到服务器中 在n ...
- nodejs中的require,exports使用说明
模块是一门语言编写大项目的基石,因此,了解如何组织.编写.编译.加载模块很重要.这里主要谈谈Node中的模块加载. 1.Node中的模块,主要使用require来加载模块,文件 require(&qu ...
随机推荐
- Softmax 函数的特点和作用
---------- 因为这里不太方便编辑公式,所以很多公式推导的细节都已经略去了,如果对相关数学表述感兴趣的话,请戳这里的链接Softmax的理解与应用 - superCally的专栏 - 博客频道 ...
- C# 超级狗 二次开发 读写数据 激活验证 存储数据库连接字符串
本文主要讲解如果使用C#语言来对超级狗进行二次开发,如果仅仅是做个激活的功能,可以参照另一篇博客,地址:http://www.cnblogs.com/dathlin/p/8487842.html 如果 ...
- .NET c# 新特性
<.NET之美>p181 Product item=new Product(188),{Price=4998.5F},Name="Lumia 920" 实例化,.NET ...
- Sublime Text 2 设置文件详解(转)
Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自己 ...
- 用python验证蒙提霍尔问题
最初看到这个问题是初中的时候买了一本有关数学谜题的书里面概率论的一张的课后拓展就是说到三门问题,当时作为一个扩展阅读看了一下,里面说到了一个世界智商最高的女人秒杀了美国一大群的数学高材生的精彩故事(比 ...
- 10day1
但愿复赛的时候旁边坐的不是学军镇海杭二绍一的众神犇. 阅览室 模拟 [问题描述] 一个阅览室每天都要接待大批读者.阅览室开门时间是 0,关门时间是 T.每位读者的到达时间都 不一样,并且想要阅读的 ...
- requestAnimationFrame 兼容不支持时的问题
(function() { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var x = 0; x < v ...
- 《DSP using MATLAB》示例Example 8.27
%% ------------------------------------------------------------------------ %% Output Info about thi ...
- 《DSP using MATLAB》示例Example 6.8
今天情人节,又在外地出差,苦逼中…… 继续写读书笔记吧. 代码: % All-Zeros FIR filter to Lattice structure filter b = [2, 13/12, 5 ...
- 使用distillery 实现版本的动态升级&& 动态降级
备注: distillery 使用很棒的elixir 打包构建工具,下面演示的是升级以及降级 1. 参考项目 https://github.com/rongfengliang/phoenix-r ...