nodeJS 中 require() 的功能
Functionality of require() in nodeJS
我有一个关于 require()
在 nodeJS 应用程序中如何工作的基本问题。
require()
实际上 return 是什么??
例如,假设我想使用 2 个第三方包:lodash
和 request
。安装包后,我们可以将代码编写为:
const _ = require('lodash')
_.uniq(Array)
所以我应该理解 require()
return 这里是一个对象, uniq
是对象 _
的方法吗?
现在让我们考虑 request
包,
const request = require('request')
request (
{
url: '',
json:true
}
callback_function()
)
所以我应该在这里理解 require()
直接 return 编辑了一个方法 - request()
如果我使用与下面相同的方法,我会遇到类型错误 req1.request is not a method
。
const req1 = require('request');
req1.request (
{
url: '',
json:true
}
callback_function()
)
请帮助我理解这一点。
require
returns 无论模块定义如何。有时,模块只定义一个函数:
exports = function request(/*...*/);
...所以当您导入模块时,这就是您得到的。
有时,模块会导出对象(exports
最初是指加载模块时的空白对象,然后模块会添加或替换该对象):
exports._ = {
// ...
};
...所以当您导入模块时,这就是您得到的。
这取决于模块。这是一个非常简单的系统。 Modules documentation (not to be confused with the ECMAScript (JavaScript) Modules 文档中有更多信息; JavaScript 自己的模块与 Node.js 的略有不同。
我有一个关于 require()
在 nodeJS 应用程序中如何工作的基本问题。
require()
实际上 return 是什么??
例如,假设我想使用 2 个第三方包:lodash
和 request
。安装包后,我们可以将代码编写为:
const _ = require('lodash')
_.uniq(Array)
所以我应该理解 require()
return 这里是一个对象, uniq
是对象 _
的方法吗?
现在让我们考虑 request
包,
const request = require('request')
request (
{
url: '',
json:true
}
callback_function()
)
所以我应该在这里理解 require()
直接 return 编辑了一个方法 - request()
如果我使用与下面相同的方法,我会遇到类型错误 req1.request is not a method
。
const req1 = require('request');
req1.request (
{
url: '',
json:true
}
callback_function()
)
请帮助我理解这一点。
require
returns 无论模块定义如何。有时,模块只定义一个函数:
exports = function request(/*...*/);
...所以当您导入模块时,这就是您得到的。
有时,模块会导出对象(exports
最初是指加载模块时的空白对象,然后模块会添加或替换该对象):
exports._ = {
// ...
};
...所以当您导入模块时,这就是您得到的。
这取决于模块。这是一个非常简单的系统。 Modules documentation (not to be confused with the ECMAScript (JavaScript) Modules 文档中有更多信息; JavaScript 自己的模块与 Node.js 的略有不同。