Этот ответ будет полезен тем, кто полагается на пакет npm ts-node
.
Я также боролся с той же проблемой расширения запроса объекта , я следил за множеством ответов в переполнении стека и закончил, следуя указанной ниже стратегии.
Я объявил расширенную типизацию для экспресс в следующем каталоге.${PROJECT_ROOT}/api/@types/express/index.d.ts
declare namespace Express {
interface Request {
decoded?: any;
}
}
затем обновите мой tsconfig.json
до чего-то вроде этого.
{
"compilerOptions": {
"typeRoots": ["api/@types", "node_modules/@types"]
...
}
}
даже после выполнения описанных выше шагов визуальная студия перестала жаловаться, но, к сожалению, ts-node
компилятор все еще бросал.
Property 'decoded' does not exist on type 'Request'.
По-видимому, ts-node
не удалось найти определения расширенного типа для запроса объекта .
В конце концов, потратив часы, я знал, что VS Code не жаловался и смог найти определения ввода, подразумевая, что что-то не так с ts-node
complier.
Обновление начало script
в package.json
фиксированной для меня.
"start": "ts-node --files api/index.ts",
что --files
аргументы играют ключевую роль здесь найти определение пользовательских определений типа.
Для получения дополнительной информации посетите: https://github.com/TypeStrong/ts-node#help-my-types-are-missing