از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
رفع «ویژگی X وجود ندارد روی نوع درخواست” خطا در TypeScript
سرفصلهای مطلب
معرفی
هنگام کار با TypeScript، ممکن است گاهی با پیغام خطایی مانند “Property X وجود ندارد” مواجه شوید. روی نوع درخواست”. این خطا معمولاً زمانی رخ می دهد که TypeScript نمی تواند یک ویژگی را در داخل پیدا کند Request
هدف – شی.
در این بایت، خطا را توضیح می دهیم و نشان می دهیم که چگونه می توانید آن را برطرف کنید.
این خطا به چه معناست؟
این معمولاً زمانی اتفاق میافتد که TypeScript قادر به یافتن یک ویژگی در داخل نیست Request
شی، که بخشی از چارچوب Express.js است. این ممکن است به چند دلیل اتفاق بیفتد، مانند ملک بودن undefined
، یا TypeScript قادر به تشخیص ویژگی نیست. در اینجا مثالی از روش ظاهر این خطا آورده شده است:
app.get('/route', (req, res) => {
console.log(req.fakeProperty);
});
در این مورد، TypeScript با گفتن خطایی مواجه می شود Property 'fakeProperty' does not exist روی type 'Request'
.
استفاده کردن –فایل ها پرچم با ts-node
یکی از راه های رفع این خطا استفاده از --files
پرچم با ts-node
فرمان این پرچم TypeScript را مجبور می کند که شامل شود همه فایلهای TypeScript در کامپایل، به جای آنهایی که مستقیماً وارد یا ارجاع میشوند.
$ ts-node --files server.ts
این دستور تمام فایلهای TypeScript را کامپایل میکند، که میتواند شامل یکی از ویژگیهای گمشده باشد، در نتیجه خطا را برطرف میکند.
توجه داشته باشید: با استفاده از --files
پرچم احتمالاً سرعت تدوین را کاهش می دهد process زیرا شامل تمام فایل های TypeScript در کامپایل می شود.
افزودن مسیر به دایرکتوری Types در tsconfig.json
راه دیگر برای رفع این خطا، اضافه کردن مسیر به دایرکتوری انواع در خود است tsconfig.json
فایل. این به TypeScript اجازه می دهد تا انواع و ویژگی های تعریف شده در پروژه شما را تشخیص دهد.
{
"compilerOptions": {
"typeRoots": ("./node_modules/@types", "./types")
}
}
در اینجا ما را اضافه کرده ایم ./types
دایرکتوری به typeRoots
آرایه، که شامل تعریف شی/ویژگی است. اکنون TypeScript میتواند ویژگیهای تعریف شده در انواع درون این فهرست را تشخیص دهد.
نتیجه
“ویژگی X وجود ندارد روی خطای type Request” در TypeScript یک مشکل رایج است که زمانی ظاهر می شود که TypeScript قادر به یافتن یک ویژگی در داخل نیست. Request
هدف – شی. با استفاده از --files
پرچم با ts-node
دستور دهید یا مسیر را به دایرکتوری type در خود اضافه کنید tsconfig.json
فایل، می توانید این خطا را برطرف کنید.
منتشر شده در 1403-01-01 03:08:05