javascript - 我是否必须在每个文件中引用 TypeScript 定义?

标签 javascript typescript

有没有办法告诉 TypeScript 使用某个文件(或一组文件)作为编译所有内容的定义?

我目前唯一的选择是在每个 TypeScript 文件中添加类似这样的内容(这看起来很笨重):

/// <reference path="DefinitelyTyped/requirejs/require.d.ts" />

最佳答案

当使用 TypeScript 的内部模块系统时,你可以避免任何 <reference>代码中的所有标签。我个人这样做是因为我不想在代码中对路径(真实的或绝对的)进行编码,因为我不断地移动东西。

一种方法是确保所有必需的声明文件和 TypeScript 源文件在编译期间作为参数传递给编译器。

使用 gulp连同 gulp-typescript简化了这个任务。你可以设置noExternalResolvegulp-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/

相关文章:

javascript - AngularJs 指令不工作/不可见

node.js - 在 Bot Framework 中扩展可识别的输入以进行确认提示

javascript - SAPUI5后从日期选择器中选择后更改日期格式

javascript - vue.js 在直接 css/样式更改和从数组中删除项目时的奇怪行为

typescript - 在 TypeScript 中创建显式不安全私有(private)类成员访问函数

typescript - 我可以从 Typescript 中的类型中提取可选属性吗?

javascript - TypeScript:在代理中定义动态属性

angular - 如何在 FormArray 中设置 FormControl 的值

javascript - 自动刷新 Google map 标记

javascript - 如何选择下一个具有相同类别的元素?