Javascript-如何访问返回函数中的类方法



我在这个问题上已经有一段时间了。我无法准确地描述它,无法在网上找到解决方案——如果这是一个重复的问题,我深表歉意。

我想从module.js:访问helloWorld()

export function HelperProvider() {
return class Helper {
constructor() {
}
helloWorld() {
console.log('Hello World');
}
}
}

在另一个文件中:

import { HelperProvider } from 'module.js'
const helperProvider = HelperProvider;
const helper = new helperProvider();
helper.helloWorld();

然而,我遇到了以下错误:

Uncaught TypeError: helper.helloWorld is not a function

如有任何帮助,我们将不胜感激。

您需要调用函数HelperProvider来获取该类。

const helperProvider = HelperProvider();

function HelperProvider() {
return class Helper {
constructor() {
}
helloWorld() {
console.log('Hello World');
}
}
}
const helperProvider = HelperProvider();
const helper = new helperProvider();
helper.helloWorld();

您使用的模块功能在nodejs中不是现成的,如果您想使用modules,则需要在package.json文件中设置type: "module"。。。详见

如果你想使用节点方式:

module.js

function HelperProvider() {
return class Helper {
constructor() {}
helloWorld() {
console.log("Hello World");
}
};
}

module.exports=HelperProvider;

index.js

const HelperProvider = require("./Helper");
const helperProvider = HelperProvider();
const helper = new helperProvider();
helper.helloWorld();

最新更新