我在global.d.ts
文件夹中创建了一个src
文件。
global.d.ts
interface Foo {
}
然后我在我的TypeScript文件之一中使用了该类型
const x: Foo = {};
我的编辑器中没有错误。在我的终端机au run
正常工作。之后,如果我修改了我的代码(甚至添加了一个空格并保存),则会检测到更改并触发编译。然后我得到了编译错误:
Starting 'buildTypeScript'...
src\eskimo-scripts.ts(21,18): error TS2339: Property 'Foo' does not exist.
TypeScript: 1 semantic error
TypeScript: emit succeeded (with errors)
[12:45:00] gulp-notify: [Error running Gulp] Error: TypeScript: Compilation failed
Finished 'buildTypeScript'
Starting 'writeBundles'...
INFO [Bundler] Tracing files ...
但是,如果我将global.d.ts
文件从src
文件夹移到了custom_typings
文件夹中。我没有那种问题。看来Aurelia不喜欢我将...d.ts
文件放在我的src
文件夹中。
我刚开始使用类型定义,所以我认为可以将global.d.ts
放在我的src
文件夹中,但是也许我弄错了。
下面是我的tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"sourceMap": true,
"target": "es5",
"module": "amd",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowJs": true,
"moduleResolution": "node",
"lib": ["es2017", "dom"],
"baseUrl": "src"
},
"include": [
"./src/**/*.ts",
"./test/**/*.ts",
"./custom_typings/**/*.d.ts"
],
"atom": {
"rewriteTsconfig": false
}
}
编辑
在测试了不同的东西之后,看来我必须在文件上方添加以下行
/// <reference path="global.d.ts" />