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

目前,我唯一的 Select 是在每个单独的TypeScript文件中添加类似的内容(看起来很笨重):

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

推荐答案

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

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

使用gulpgulp-typescript可以简化这项任务.您可以将gulp-typescript中的noExternalResolve设置为true,并创建占用您所有时间的gulp 任务.d、 ts文件以及源代码,并通过管道将其传递给编译器.当您将tsd拉入堆栈时,只需传递tsd.d.ts文件,该文件包含对通过tsd安装的所有其他定义文件的引用.

UPDATE for TypeScript >= v1.5: you can use a tsconfig.json file, and the compiler will get the ordering of the classes right. This removes the need to use gulp-typescript alltogether. You can either chose to have all files explicitly listed in the tsconfig.json file, or completely leave out the files property to include all *.ts/*.tsx files within the directory the tsconfig.json resides (including all subfolders).

样本tsconfig.json可能看起来像:

{
    "compilerOptions": {
        "target": "ES5",
        "module": "commonjs",
        "lib": [ "es5", "es2015.promise", "dom" ]
    },
    "include": [
        "src/**/*.ts"
    ]
}

Typescript相关问答推荐

Typescript联合类型-字段类型覆盖

TS 2339:属性切片不存在于类型DeliverableSignal产品[]上>'

处理API响应中的日期对象

与字符串文字模板的结果类型匹配的打字脚本

Typescript泛型类型:按其嵌套属性映射记录列表

如何按不能保证的功能过滤按键?

仅针对某些状态代码重试HTTP请求

访问继承接口的属性时在html中出错.角形

为什么在回调函数的参数中不使用类型保护?

react 路由Use RouteLoaderData类型脚本错误

为什么Typescript不能推断类型?

下载量怎么会超过下载量?

为什么我的导航在使用Typescript的React Native中不起作用?

有没有办法防止类型交集绕过联合类型限制?

TYPE FOR ARRAY,其中每个泛型元素是单独的键类型对,然后在该数组上循环

TypeScrip:使用Union ToInterval辅助对象,但保留子表达式

在类型脚本中创建显式不安全的私有类成员访问函数

有没有一种更好的方法来存储内存中的数据,而不是在类型脚本中使用数组和基于索引的函数?

对象只能使用 Typescript 中另一个对象的键

如何为字符串模板文字创建类型保护