【发布时间】:2019-04-12 19:39:51
【问题描述】:
一个基本的类导出需要看起来像这样,当需要时,它可以像这样初始化:
const api = require('myapi')('key_...');
【问题讨论】:
标签: node.js typescript typescript2.0
一个基本的类导出需要看起来像这样,当需要时,它可以像这样初始化:
const api = require('myapi')('key_...');
【问题讨论】:
标签: node.js typescript typescript2.0
如果我理解您的问题,您希望myapi 模块实例化一个类(即BasicClass)并通过默认导出的函数返回它。在 TypeScript 中实现这一点的一种方法是通过以下方式:
/* The myapi module */
/* The "basic class" that will be instantiated when default export function is called */
class BasicClass {
constructor(key:string) {
console.log(`Constructor got key: ${key}`)
}
}
/* The default module export is a function that accepts a key string argument */
module.exports = (key:string) => {
/* The function returns an instance of BasicClass */
return new BasicClass(key)
}
myapi 模块可以按如下方式使用:
const api = require('myapi')('key_...');
/* api is instance of BasicClass */
希望有帮助
【讨论】:
module.exports 上定义箭头函数来稍微压缩 myapi 模块,如更新的答案所示