在 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")
      }
    }