如何从 esModule 函数而不是平面函数中获取数据?
How to get data out of esModule function instead of flat function?
所以我目前正在使用 require 来获取代表我的组件之一的所有 TS 文件,以便我将它们用作参考。
this.req = require.context('../../my/context', true, /^\.\/.*\.component.ts$/)
作为我的服务的一部分,我还有一个名为 "getComponent" 的功能,然后我使用传递的文件路径从 req
.
获取所需的组件
const component = this.req(filePath);
此时,如果我在控制台中记录它,我会看到一个具有函数及其所有关联数据的对象。它看起来像这样:
但是,如果我尝试以编程方式访问此信息,我当然会简单地返回对函数本身的引用:
有什么方法可以以编程方式访问第一个状态中的数据,而不取回对函数的引用?
这只是 Chrome 如何优化其控制台消息的产物。
当传递给 console.log()
的对象只是一个函数时,输出只是该函数的简化视图:
function myFunc() {}
console.log(myFunc);
ƒ myFunc() {}
如果您真的需要查看 function
对象的内容,请将其包装在一个新对象中:
console.log({ myFunc });
{myFunc: ƒ}
myFunc: ƒ myFunc()
arguments: null
caller: null
length: 0
name: "myFunc"
prototype: {constructor: ƒ}
__proto__: ƒ ()
[[FunctionLocation]]: VM14940:1
[[Scopes]]: Scopes[1]
__proto__: Object
所以我目前正在使用 require 来获取代表我的组件之一的所有 TS 文件,以便我将它们用作参考。
this.req = require.context('../../my/context', true, /^\.\/.*\.component.ts$/)
作为我的服务的一部分,我还有一个名为 "getComponent" 的功能,然后我使用传递的文件路径从 req
.
const component = this.req(filePath);
此时,如果我在控制台中记录它,我会看到一个具有函数及其所有关联数据的对象。它看起来像这样:
但是,如果我尝试以编程方式访问此信息,我当然会简单地返回对函数本身的引用:
有什么方法可以以编程方式访问第一个状态中的数据,而不取回对函数的引用?
这只是 Chrome 如何优化其控制台消息的产物。
当传递给 console.log()
的对象只是一个函数时,输出只是该函数的简化视图:
function myFunc() {}
console.log(myFunc);
ƒ myFunc() {}
如果您真的需要查看 function
对象的内容,请将其包装在一个新对象中:
console.log({ myFunc });
{myFunc: ƒ} myFunc: ƒ myFunc() arguments: null caller: null length: 0 name: "myFunc" prototype: {constructor: ƒ} __proto__: ƒ () [[FunctionLocation]]: VM14940:1 [[Scopes]]: Scopes[1] __proto__: Object