Я использую Node v12 и Express v4.16.4 и Typescript версии 3.8.3 и использую VSCode.
Этот фрагмент кода не изменялся почти 8 месяцев, и мы используем его на каждом маршрутизаторе .
export interface ICustomRequest extends Request {
district: string;
}
И все эти месяцы работали нормально. Любой другой человек в моей команде использует тот же код, что и я, и до сих пор не имеет проблем с ним. Внезапно этим утром - ни один мой код не скомпилируется из-за ошибки, связанной с req.query во всех маршрутизаторах.
Такие вещи, как это:
public async get(req: ICustomRequest, res: Response, next: NextFunction) {
try {
const property = req.query.property;
let results: await doTheThing(property);
res.json(results);
} catch (error) {
next(error);
}
}
Где req .query.property выдает ошибку, такую как: «ошибка TS2345: Аргумент типа« строка | Запрос »(строка | Запрос) []» не может быть назначен параметру типа «строка». Тип «Запрос» не может быть назначен типу 'string'. "
Я не понимаю, как внезапно эта проблема возникает во всех файлах моего проекта, в то время как у других трех разработчиков такой проблемы нет, и мы все находимся на одинаковые версии всего. Если я добавлю .toString (), это будет работать, но я не смогу оправдать изменение 202 экземпляров только для себя, когда у других нет проблем. Есть какие-нибудь идеи о моей среде, которые могли бы вызвать проблемы с печатанием?
Вещи, которые я пробовал:
Полное повторное клонирование моих проектов из апстрима. Переустановка узла. Переустановка машинописи. npm кеш чистый. удаление узловых модулей и переустановка. снятие пакета-блокировки. json.