я хочу, чтобы быть в состоянии предоставить декларацию окружающей среды для объекта в одном файле, но обеспечить реализацию в другоймашинопись декларация окружающей среды и реализации в отдельных файлах
Пример:
Test.d .ts
interface TestConstructor {
new(value?: any): void;
...
}
interface Test {
...
}
declare var Test: TestConstructor;
Test.ts
var Test = (function() {
function Test(value) {
}
return Test;
})();
Ошибка:
Subsequent variable declarations must have the same type. Variable 'Test' must be of type 'TestConstructor', but here has type '(value: any) => void'.
Я знаю, что это, кажется, странный способ использования машинописи, но причина в том, что я хочу, чтобы создать объект с функциями, которые машинопись не поддерживают (замыкания/value), поэтому я не могу использовать для этого классы.
Кроме того, я хочу, чтобы отправить Test.d.ts и Test.js, но не Test.ts
Может это делается из визуальной студии? – series0ne
Я не использовал Visual Studio в то время, поэтому могут быть лучшие способы, чем эти. У вас могут быть файлы в отдельных проектах. Вы также можете изменить свойство Build Action для Test.d.ts на None, но тогда, если этот файл содержит ошибки, компилятор их не поймает. – curpa