我刚刚使用atom-typescript 在 Atom 中配置了一个新的 Angular/Typescript 项目。该项目设置有一个主角度模块文件,用于导入所有模块,包括类型定义文件。一切都在 gulp 中编译并且运行没有问题。
由于我使用 gulp,我已将atom-typescript 配置为在保存时不编译 .ts 文件。现在,我在所有 .ts 文件中看到错误,表明atom-typescript linter 无法找到类型。
例如:Module 'ng' has no exported member 'IScope' at line 1 col 32
我知道我可以通过向每个 ts 文件添加引用路径来解决这个问题,例如 /// <reference path="../../.tmp/typings/tsd.d.ts" />
,但这似乎确实多余且不必要。
由于这些错误是由atom-typescript引发的,有什么方法可以在整个项目的设置中的某个位置设置类型定义文件的位置?关于如何处理这个问题还有其他建议吗?
最佳答案
将输入内容放入 tsconfig.json
文件以及 files
中的其他 ts 文件入口。
由于您使用的是atom-typescript,您甚至可以使用glob patterns ,即
{
...
"filesGlob": [
"./typescript/**/*.ts",
"./typescript/**/*.tsx",
"./typings/**/*.d.ts"
]
...
}
files
条目将自动更新。
编辑
由于 Typescript 现在正式支持此功能,因此更可移植的解决方案(跨 IDE)可能是使用 exclude
tsconfig
的属性(property).
反之亦然:编译所有但排除的内容(通常是 node_modules
下的任何内容以及 public
中的静态资源)
{
"compilerOptions": {
...
},
"exclude": [
"node_modules",
"public"
]
}
官方详情在此link
关于typescript - 原子 typescript 找不到打字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271914/