在 NodeJS 中导入后不显示导出的函数
Exported functions are not showing after import in NodeJS
我正在尝试从文件中导入一些异步等待函数。但是,似乎 none 的导出在导入后变得可见。我只在 asyc-await 中看到这个问题。据我所知,我用正常功能做了同样的事情,它似乎工作正常。
我要导入的文件是 helper.ts
,代码如下:
// some dependencies like below:
import mydriver from "driver";
const driver = mydriver.driver(
// connection settings
);
module.exports = {
myFunction: async (arg) => {
const session = driver.session();
var result = await session.writeTransaction(
// a query
);
session.close();
return result;
}
}
然后在另一个文件中我导入如下:
import helper = require("./helper");
// Below line throws error
var result = helper.myFunction(arg);
错误是
Property 'myFunction' does not exist on type 'typeof "/mydirectory/helper"'
这一行:
import helper = require("./helper");
应该是:
const helper = require('./helper');
看起来您可能有多个函数要导出,在这种情况下,这种分配给 module.exports
的替代语法可用,如
中所述
const privateFn = () => { }
module.exports = {
async myFunction (arg) {
// method body
return result;
},
async Foo () {
// method body
privateFn()
this.myFunction("bar")
}
}
我正在尝试从文件中导入一些异步等待函数。但是,似乎 none 的导出在导入后变得可见。我只在 asyc-await 中看到这个问题。据我所知,我用正常功能做了同样的事情,它似乎工作正常。
我要导入的文件是 helper.ts
,代码如下:
// some dependencies like below:
import mydriver from "driver";
const driver = mydriver.driver(
// connection settings
);
module.exports = {
myFunction: async (arg) => {
const session = driver.session();
var result = await session.writeTransaction(
// a query
);
session.close();
return result;
}
}
然后在另一个文件中我导入如下:
import helper = require("./helper");
// Below line throws error
var result = helper.myFunction(arg);
错误是
Property 'myFunction' does not exist on type 'typeof "/mydirectory/helper"'
这一行:
import helper = require("./helper");
应该是:
const helper = require('./helper');
看起来您可能有多个函数要导出,在这种情况下,这种分配给 module.exports
的替代语法可用,如
const privateFn = () => { }
module.exports = {
async myFunction (arg) {
// method body
return result;
},
async Foo () {
// method body
privateFn()
this.myFunction("bar")
}
}