Bu cevap npm paketine güvenenler için faydalı olacaktır ts-node.
Ben de aynı istek nesnesini genişletme endişesiyle mücadele ediyordum , stack-overflow'da birçok yanıtı takip ettim ve aşağıda belirtilen stratejiyi takip etmekle bitirdim.
Aşağıdaki dizinde express için genişletilmiş yazmayı ilan ettim .${PROJECT_ROOT}/api/@types/express/index.d.ts
declare namespace Express {
interface Request {
decoded?: any;
}
}
sonra benim tsconfig.jsongibi bir şeye güncelliyoruz .
{
"compilerOptions": {
"typeRoots": ["api/@types", "node_modules/@types"]
...
}
}
Yukarıdaki adımları uyguladıktan sonra bile, görsel stüdyo şikayet etmeyi bıraktı ama maalesef ts-nodederleyici atmaya devam ediyordu.
Property 'decoded' does not exist on type 'Request'.
Görünüşe göre, istek nesnesi ts-nodeiçin genişletilmiş tür tanımlarını bulamadı .
Sonunda saatler geçirdikten sonra, VS Code'un şikayet etmediğini ve yazım tanımlarını bulabildiğim için ts-nodecomplier ile ilgili bir şeylerin yanlış olduğunu ima etti .
Başlangıç Güncellenmesi scriptiçinde package.jsonbenim için düzelttim.
"start": "ts-node --files api/index.ts",
--filesargümanlar burada kilit rol oynayacak özel tip tanımlarını belirleme bulabilirsiniz.
Daha fazla bilgi için lütfen şu adresi ziyaret edin: https://github.com/TypeStrong/ts-node#help-my-types-are-missing