我正在尝试创建一个加载程序/处理程序类,但似乎无法使该函数显示在其他类中。我将该类导入到index.js中,并且试图调用这些函数,但它们不起作用。
这就是我在index.js中所做的,但是没有任何功能出现。
import * as QueryHandler from "./src/api/QueryHandler";
QueryHandler.
这是我的查询处理程序类。
class QueryHandler{
constructor();
createConnection() {
const client = new ApolloClient({
// uri: url
});
}
}
exports.QueryHandler = QueryHandler;
我希望能够在index.js文件中调用createConnection方法。
答案 0 :(得分:4)
您编写的createConnection
函数是类实例上的方法。这意味着您首先必须实例化一个新的QueryHandler,然后在该实例上调用该函数:
const handler = new QueryHandler();
handler.createConnection()
或者,您可以将其编写为静态方法。这意味着您可以直接在类上调用它,而不必实例化它:
// QueryHandler.js
class QueryHandler{
static createConnection() {
const client = new ApolloClient({
// uri: url
});
}
}
export default QueryHandler;
// index.js
import QueryHandler from "./src/api/QueryHandler";
QueryHandler.createConnection()
第三个选择是完全放弃类,而只导出函数。这是最简单的:
// QueryHandler.js
function createConnection() {
const client = new ApolloClient({
// uri: url
});
}
export { createConnection };
// index.js
import { createConnection } from "./src/api/QueryHandler";
createConnection()