在NodeJS中导入后,导出的函数未显示

时间:2018-04-13 04:13:26

标签: node.js async-await require

我正在尝试从文件中导入一些async-await函数。但是,导入后似乎没有任何出口可见。我只是用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"'

1 个答案:

答案 0 :(得分:2)

这一行:

import helper = require("./helper");

应该是:

const helper = require('./helper');

看起来您可能要导出多个函数,在这种情况下,可以使用https://stackoverflow.com/a/38174623/8954866

中讨论的分配给module.exports的替代语法。
   const privateFn = () => { }

   module.exports = {
      async myFunction (arg) {
        // method body
        return result;
      },

      async Foo () {
        // method body
        privateFn()
        this.myFunction("bar")
      }
    }