Я создал файл 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
. У меня нет такой проблемы. Кажется, Аурелии не нравится, когда я помещаю свой файл ...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
}
}
EDIT
После тестирования разных вещей, кажется, мне нужно добавить строку сверху моего файла
/// <reference path="global.d.ts" />