2

我正在尝试在我的节点模块中添加一个打字稿声明文件,但是在 VS Code 的另一个项目中使用它时遇到错误:

导出的外部包类型文件 .../ttk.d.ts 不是模块

有问题的 ttk.d.ts 文件在这里

奇怪的是,在 VS Code 中,我使用声明文件自动完成。有谁知道我做错了什么?

编辑:这是导入模块的测试文件:

const ttk = require('ttk');

const t = ttk.factory();
const r = t`Hello, ${'@name'}!`;
const s = r({ name: 'World' });

console.log(s);
4

1 回答 1

3

基本上该文件被声明为全局代码(因为它没有顶级导入或导出),但 TypeScript 期望该文件是一个模块。

如果您查看.d.ts被引用的内容,则declare module "ttk"需要将其内容移到顶层,以便将该文件视为一个模块。

我在这里发送了一个 PR 来解决这个问题:https ://github.com/maexsoftware/ttk/pull/7

希望有帮助!

于 2016-06-17T20:06:50.900 回答