Вы можете предоставить проверку времени выполнения с помощью typeof
, которая, хотя и не является проверкой времени компиляции, будет захватывать те экземпляры, где вы забыли выполнить функцию:
function example(input: any) {
if (typeof input === 'function') {
alert('You passed a function!');
}
}
function someFunction() {
return 1;
}
// Okay
example({ name: 'Zoltán' });
example(1);
example('a string');
example(someFunction());
// Not okay
example(function () {});
example(someFunction);
Вы почти можете, потому что вы можете использовать перегрузку, чтобы разрешить «один из многих типов», например:
class Example {
someMethod(input: number);
someMethod(input: string);
someMethod(input: boolean);
someMethod(input: any) {
}
}
Здесь идет rub: чтобы разрешить типы объектов, вам нужно будет добавить сигнатуру перегрузки someMethod(input: Object);
или someMethod(input: {});
. Как только вы это сделаете, функции станут разрешены, потому что функция наследует объект.
Если вы можете сузить object
до чего-то менее общего, вы можете просто добавить все больше и больше перегрузок (yikes) для все типы, которые вы хотите разрешить.
Вы можете загружать / копировать файлы через API Kudu.
Обратитесь к этой теме за подробностями о том, как вызвать API Kudu во время сборки / выпуска:
Как получить доступ к Kudu in Azure с помощью сценария командной оболочки
Кстати, файл войны должен быть на сайте \ wwwroot \ webapps. Использование пользовательской конфигурации Tomcat в Azure App Services (Windows)