我尝试了这个:
// mod.js
var a = 1;
this.b = 2;
exports.c = 3;
// test.js
var mod = require('./mod.js');
console.log(mod.a); // undefined
console.log(mod.b); // 2
console.log(mod.c); // 3, so this === exports?
所以我想象require()可能是这样实现的:
var require = function (file) {
var exports = {};
var run = function (file) {
// include "file" here and run
};
run.apply(exports, [file]);
return exports;
}
那正确吗?请帮助我了解require()或在哪里可以找到源代码。谢谢!
源代码在这里。exports
/
require
不是关键字,而是全局变量。你的主要脚本包前开始在其拥有所有喜欢全局的功能require
,process
等在其上下文。
请注意,虽然module.js本身正在使用require()
,但这是一个不同的require函数,它是在名为“
node.js”的文件中定义的
上面的副作用:在模块的中间(不属于任何函数)有“ return”语句,可以有效地“注释”其余代码,这是完全可以的
本文向大家介绍Node.js中require的工作原理浅析,包括了Node.js中require的工作原理浅析的使用技巧和注意事项,需要的朋友参考一下 几乎所有的Node.js开发人员可以告诉你`require()`函数做什么,但我们又有多少人真正知道它是如何工作的?我们每天都使用它来加载库和模块,但它的行为,对于我们来说反而是一个谜。 出于好奇,我钻研了node的核心代码来找出在引擎下发生了什么
本文向大家介绍node.js中的require使用详解,包括了node.js中的require使用详解的使用技巧和注意事项,需要的朋友参考一下 代码注释里已经描述的非常的清晰,这里就不多废话了,直接奉上代码: 小伙伴们是否清楚了node.js中require的使用方法了呢,如有疑问,请留言。
问题内容: 在我的 app.js中, 我有以下3行。 user.js文件看起来就像普通的辅助方法。但是,它需要与数据库进行交互。 user.js 显然,我想在文件内部使用。无论如何,当我使用method 时,我可以将其传递给文件吗? 问题答案: 我认为您想做的是: 这使您可以将客户端作为模块中每个函数的参数,或作为模块作用域变量,如下所示:
问题内容: 我不了解关于nodejs的几件事。每个信息来源都说,由于缺少线程锁定和上下文切换,node.js比标准线程化Web服务器更具可伸缩性,但是我想知道,如果node.js不使用线程,它将如何并行处理并发请求?事件I / O模型意味着什么? 非常感谢您的帮助。谢谢 问题答案: 节点完全是事件驱动的。基本上,服务器由一个线程处理一个事件接着另一个事件组成。 一个新的请求进入是一种事件。服务器开
问题内容: 到目前为止,我已经通过以下方式创建了类和模块: 现在使用ES6,您可以像下面这样创建“实际”类: 现在,首先,我喜欢这个:),但这引起了一个问题。如何将其与的模块结构结合使用? 假设您有一个班级,为了演示而希望使用一个模块,说您想使用 所以您创建文件: Animal.js 这是正确的方法吗? 另外,如何将此类公开给节点项目中的其他文件?如果在单独的文件中使用它,您仍然可以扩展该类吗?
问题内容: 根据Node0.4.3的API文档,该函数启动一个例程,该例程将 注意上的更改。每次访问文件时都会调用该侦听器。 它还说 提供的if应该是包含两个成员的对象,boolean 和,以毫秒为单位的轮询值 这表明它将每隔一段时间检查一次。但这也说 默认值为。 那么这是否意味着它将每毫秒检查一次文件时间是否更改?它是否监听操作系统级别的事件?这是如何运作的? 问题答案: 是的,cpedros是