2016-07-25 74 views
0

我目前正在尝试TypeScript并将其与其他一些JavaScript库结合使用。我可以看到TypeScript与Vanilla JS一起使用时的优点,并试图将各种库与声明文件(.d.ts)结合使用以使所有内容都处于TypeScript中。即使编译好,为什么会有这么多的TS错误?

我把DefinitelyTyped回购中的three.d.ts文件取出来,所以它应该是一个官方和干净的副本。

我跑tsc app.ts和我的app.js文件从编译看起来很好。但是,我收到了一连串的错误,主要是说我的语法错误。为什么?我从各种定义文件的官方回购中拿到它。

enter image description here enter image description here

enter image description here

回答

1

随着新的TypeScript 2.0仍处于测试阶段,声明文件.d.ts现在可以用npm install @types/three进行检索。

所以也许为了符合这个新机制,在一些声明文件中有一些变化,比如三个。

我会建议你试试这个测试版,并检查你的问题是否仍在这里:npm install [email protected] -g。确保您的编辑器使用最新的tsserver.ts(TypeScript API)以获得最新的Intellisense。

作为一个侧面说明,没有必要排除three目录,因为它不是一个打字稿库,但不允许在项目的JavaScript文件(--allowJs

+0

谢谢!编译错误消失了!能够使用'npm'安装定义文件更好。我稍微担心版本,因为它是0.0.17,但我想这是在beta版本中尝试它的痛苦。 – Sticky

1

我不认为你想在你的编译目录three.d.ts。你想引用文件,但没有打印机编译它。你试过排除它吗?

+0

为什么我需要排除呢?我认为它必须与我的app.ts文件编译? – Sticky

+0

我正在查看项目配置下的内容: http://www.typescriptlang.org/docs/handbook/tsconfig-json.html 该文档不太清楚该怎么做。我查看了示例/示例,他们只是将jquery.d.ts文件放在与其他.ts文件相同的目录中。 – Sticky

+0

你想在app.ts中引用标签,但不需要使用它编译,因为它不包含任何代码。它只是向typescript的编译器描述你的JS库是什么样子的,所以它可以验证你的代码正确地使用它。 –

0

为什么会出现这么多的TS错误即使它编译好吗?

仅仅因为你得到输出JavaScript并不意味着它编译得很好。错误仍然存​​在。打字稿会尽可能给你有效的输出的JavaScript

更多

Why TypeScript

相关问题