5
我有一个名为RiveScript一个NPM模块,通常(在Javascript)被实例化的方式:写声明文件的默认输出模块
var RiveScript = require('rivescript');
var rivescript = new RiveScript();
我试图写一个声明文件的模块,但我坚持了第一步。这是我到目前为止已经写的:
declare module "rivescript" {
interface RivescriptOptions {
utf8?: boolean;
}
class RiveScript {
constructor(options?: RivescriptOptions);
}
export default RiveScript;
}
然后我打字稿想我会使用模块这种方式(默认导入):
import RiveScript from 'rivescript';
let rivescript = new RiveScript();
然而,tsc
产生这一点,这是无效的,因为它引用一个default()
功能:
const rivescript_1 = require('rivescript');
let rivescript = new rivescript_1.default();
我在做什么错?
它的工作原理,谢谢! 我只是混淆了'import RiveScript = require('rivescript');'语法看起来不像一个有效的ES6导入语句的事实? –
据我所知,'从rivescript'导入Rivescript应该导入Rivescript的默认导出。但是,没有默认导出:https://github.com/aichaos/rivescript-js/blob/master/src/rivescript.coffee#L963。有关完整的概述:https://github.com/Microsoft/TypeScript/issues/2242 –
好吧,明白了,谢谢! –