మాడ్యూల్ పాఠాలు (1/2)
tsconfig.jsonతో కాన్ఫిగరేషన్
tsconfig.json ఫైల్ టైప్స్క్రిప్ట్ ప్రాజెక్ట్ యొక్క రూట్ డైరెక్టరీని మరియు ప్రాజెక్ట్ను రూపొందించడానికి అవసరమైన కంపైలర్ ఎంపికలను నిర్దేశిస్తుంది.
మీరు ప్రాజెక్ట్ డైరెక్టరీలో tscని అమలు చేసినప్పుడల్లా, కంపైలర్ ఈ ఫైల్ కోసం దాని సంకలన ప్రవర్తనకు మార్గనిర్దేశం చేస్తుంది.
tsconfig.json ఫైల్ యొక్క నిర్మాణం
సాధారణ కాన్ఫిగరేషన్ ఫైల్ ఇలా కనిపిస్తుంది:
{
"compilerOptions": {
"target": "es2022",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}ప్రధాన లక్షణాలు:
compilerOptions: కంపైలర్ కోసం సెట్టింగ్లు.include: కంపైల్ చేయడానికి ఫైల్లు లేదా ఫోల్డర్లను పేర్కొంటుంది.exclude: కంపైలేషన్ సమయంలో విస్మరించాల్సిన ఫైల్లు లేదా ఫోల్డర్లను పేర్కొంటుంది.
కీ కంపైలర్ ఎంపికలు
తెలుసుకోవలసిన కొన్ని ముఖ్యమైన సెట్టింగ్లు ఇక్కడ ఉన్నాయి:
target: కంపైలర్ ద్వారా JavaScript అవుట్పుట్ సంస్కరణను పేర్కొంటుంది (ఉదా.,es5,es6/es2015,es2020, AGY10INLINE_INLINE).module: కంపైల్డ్ కోడ్లో ఉపయోగించిన మాడ్యూల్ సిస్టమ్ను పేర్కొంటుంది (ఉదా.,commonjs,esnext,node16).strict: కఠినమైన టైప్-చెకింగ్ ప్రవర్తనల విస్తృత సూట్ను ప్రారంభిస్తుంది. గరిష్ట రకం భద్రత కోసం దీన్నిtrueకి సెట్ చేయాలని సిఫార్సు చేయబడింది. ఇది వంటి ఎంపికలను ప్రారంభిస్తుంది:noImplicitAny: ఏ రకమైన ఉల్లేఖనాన్ని అందించనప్పుడు సూచించబడినanyరకంతో వ్యక్తీకరణలు మరియు డిక్లరేషన్లపై లోపాన్ని లేవనెత్తుతుంది.strictNullChecks:nullలేదాundefinedని వారి యూనియన్లో స్పష్టంగా చేర్చని రకాలకు కేటాయించడాన్ని నిరోధిస్తుంది.
మీరే ప్రయత్నించండి
వ్యాయామం 1: కఠినమైన శూన్య తనిఖీలను నిర్వహించడం
tsconfig.jsonలో strictNullChecks: true ఆప్షన్ కింద, మేము ఆదిమ రకాలకు శూన్య లేదా నిర్వచించని వాటిని కేటాయించలేము. టైప్ స్ట్రింగ్ | ఇన్పుట్ను ఆమోదించే పార్స్ఏజ్ అనే ఫంక్షన్ను ప్రకటించండి null మరియు ఇన్పుట్ శూన్యం కానట్లయితే మరియు చెల్లుబాటు అయ్యే పూర్ణాంకం అయితే సంఖ్యను అందిస్తుంది, లేకుంటే అది 0ని అందిస్తుంది. ఖచ్చితమైన సంకలనాన్ని పాస్ చేయడానికి శూన్య కేస్ను స్పష్టంగా నిర్వహించండి.
సూచనను చూపించు
ఫంక్షన్ ప్రారంభంలో ఇన్పుట్ శూన్యంగా ఉందో లేదో తనిఖీ చేయండి మరియు స్ట్రింగ్ను ప్రాసెస్ చేయడానికి ముందు వెంటనే 0ని తిరిగి ఇవ్వండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 2: అవ్యక్తంగా టైపింగ్ చేయడం
noImplicitAny కింద: ఒప్పు, ఏదైనా పరామితి దాని రకాన్ని ఊహించడం సాధ్యం కాదు స్పష్టంగా టైప్ చేయాలి. శ్రేణి అంశాలను (సంఖ్యల శ్రేణి) అంగీకరించే processItems పేరుతో ఒక ఫంక్షన్ను సృష్టించండి మరియు ఒకే నంబర్ను ఆర్గ్యుమెంట్గా తీసుకుని ఏదీ తిరిగి ఇవ్వని కాల్బ్యాక్ ఫంక్షన్ను సృష్టించండి. ఏదీ ఉపయోగించకూడదని నిర్ధారించుకోండి మరియు ప్రతిదీ స్పష్టంగా టైప్ చేయండి.
సూచనను చూపించు
సిగ్నేచర్ ఫంక్షన్ ప్రాసెస్తో ఫంక్షన్ను డిక్లేర్ చేయండి అంశాలు(అంశాలు: నంబర్[], కాల్బ్యాక్: (ఐటెమ్: నంబర్) => శూన్యం): శూన్యం.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది