এই উত্তরটি যারা এনপিএম প্যাকেজের উপর নির্ভর করে তাদের পক্ষে উপকারী হবে 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
জন্য বর্ধিত ধরণের সংজ্ঞাগুলি সনাক্ত করতে সক্ষম ছিল না অবজেক্টের ।
অবশেষে ঘন্টা ব্যয় করার পরে, যেহেতু আমি জানতাম ভিএস কোডটি অভিযোগ করছে না এবং টাইপিং সংজ্ঞাগুলি সনাক্ত করতে সক্ষম হয়েছিল, এর সাথে বোঝা যাচ্ছে যে এতে কিছু ভুল রয়েছে ts-node
কোনও কম্পাইলারের ।
শুরু আপডেট করা হচ্ছে script
এ package.json
এটা আমার জন্য ঠিক করেছি।
"start": "ts-node --files api/index.ts",
দ্য --files
আর্গুমেন্ট এখানে একটি গুরুত্বপূর্ণ ভূমিকা পালন কাস্টম টাইপ সংজ্ঞা নির্ধারণের পাবেন।
আরও তথ্যের জন্য দয়া করে এখানে যান: https://github.com/TypeStrong/ts-node#help-my-tyype-are-missing