有没有办法告诉 TypeScript 使用某个文件(或一组文件)作为编译所有内容的定义?
我目前唯一的选择是在每个 TypeScript 文件中添加类似这样的内容(这看起来很笨重):
/// <reference path="DefinitelyTyped/requirejs/require.d.ts" />
最佳答案
当使用 TypeScript 的内部模块系统时,你可以避免任何 <reference>
代码中的所有标签。我个人这样做是因为我不想在代码中对路径(真实的或绝对的)进行编码,因为我不断地移动东西。
一种方法是确保所有必需的声明文件和 TypeScript 源文件在编译期间作为参数传递给编译器。
使用 gulp连同 gulp-typescript简化了这个任务。你可以设置noExternalResolve
在 gulp-typescript
为真,并创建 gulp 任务,将所有 .d.ts 文件与您的源文件一起传输到编译器。当你拉入 tsd进入你的堆栈,你只需要传递 tsd.d.ts
包含对通过 tsd
安装的所有其他定义文件的引用的文件.
TypeScript 更新 >= v1.5:您可以使用 tsconfig.json文件,编译器将获得正确的类顺序。这消除了使用 gulp-typescript
的需要全部一起。您可以选择在 tsconfig.json
中明确列出所有文件文件,或者完全忽略 files
属性(property)包括所有*.ts/*.tsx
tsconfig.json
目录中的文件驻留(包括所有子文件夹)。
样本 tsconfig.json
可能看起来像:
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"lib": [ "es5", "es2015.promise", "dom" ]
},
"include": [
"src/**/*.ts"
]
}
关于javascript - 我是否必须在每个文件中引用 TypeScript 定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28989399/