【问题标题】:How to compile .d.ts (typescript)如何编译 .d.ts(打字稿)
【发布时间】:2018-04-13 10:00:10
【问题描述】:

我正在尝试创建一个 TypeScript 模块,但我遇到了以下问题: - 当我在另一个项目中安装此模块并使用它时,我收到“SyntaxError: Unexpected token export”错误。 此错误是由 index.d.ts 文件具有这样的行 ```

export * from './logger' // (ES6)  

出现问题的原因可能是节点正在寻找 ES5 代码。

我试图通过思考(并在互联网上搜索)告诉 TypeScript 编译器编译 .d.ts 文件的方法来解决这个问题,我找到了一个通过生成类型编译的选项(“声明”:真)。之后我必须手动复制( cp -r src/types lib/types)来解决 lib 文件夹中缺少类型的问题。

我现在唯一的问题是,我无法在项目中导入类型,因为我安装了模块,因为文件是用 es6 编写的

我认为我的方法是错误的。 (是我写的第一个typescrypt模块)

谢谢。

节点: 我的 tsconfig.json 文件是https://pastebin.com/zzCs88ZM

【问题讨论】:

  • 或者也许是一种在 package.json 中指定 ES6 模块的方法?

标签: typescript typescript-typings typescript2.8


【解决方案1】:

Afaik .d.ts 文件不应该被编译(d 代表声明)。它们只是类型定义文件,旨在为您的 IDE/编辑器提供正确的语法、代码突出显示、自动完成等。

如果您需要将其编译为常规的 .ts 文件。在你的情况下,如果你想让记录器可用,它肯定应该是一个常规的 .ts 文件。

d.ts 文件不应包含逻辑。

也许您可以在这里找到有关您的定义文件的帮助:https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html

【讨论】:

  • 感谢您的回复。我弄清楚出了什么问题。在 tsconfig.json 中,类型路径 wat './lib/index.d' 。我用 '/lib/types/ 改变了。可能是 typescript 或 npm 唯一索引.. 现在可以工作了
  • 是的,这可能是真的,但是如果您查看输出,.d.ts 文件不会被编译。但是,当然,如果在此过程中缺少某些定义,您也无法编译
  • 我仍然有问题。我要做的是编写在项目中定义的 n 个打字稿模块
猜你喜欢
  • 1970-01-01
  • 2016-03-03
  • 1970-01-01
  • 2013-08-19
  • 2019-01-02
  • 2018-03-04
  • 1970-01-01
  • 2015-12-17
相关资源
最近更新 更多