При использовании опции компилятора TSC "declaration": true
я получаю следующее сообщение об ошибке:Создание d.ts файла с опцией компилятор генерирует ошибку для углового
error TS4019: Implements clause of exported class 'MyClass' has or is using private name 'angular'.
Я не получаю сообщение об ошибке при использовании "declaration": false
.
Использование машинопись Версия: 2.0.3
Пример Код:
MyClass.ts
/// <reference path="node_modules/@types/angular/index.d.ts" />
module MyModule {
export class MyClass implements angular.IServiceProvider {
constructor() {
}
$get;
}
}
tsconfig.json
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"declaration": true
},
"exclude": [
"node_modules"
]
}
Там я с к GitHub репо на https://github.com/iwhp/issues/tree/master/typescript-bug-declaration-file-with-angular
Ожидаемое поведение:
файл A .d.ts должен быть создан.
Дополнение к образцу выше
Я добавил следующий класс, чтобы показать, что MyClass.ts используется здесь.
MyClass2.ts
/// <reference path="node_modules/@types/angular/index.d.ts" />
module MyModule {
export class MyClassB implements angular.IServiceProvider {
constructor(myClass: MyModule.MyClass) {
}
$get;
}
}
Thankx artem. Это действительно работает, но теперь я добавил новый класс MyClassB, который использует MyClass. Теперь я получаю следующие сообщения при использовании вашего предложения: ошибка TS2305: модуль «MyModule» не имеет экспортированного члена MyClass. – iwhp