ಉತ್ತಮ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಅಭಿವೃದ್ಧಿಗಾಗಿ tsconfig.json ಫೈಲ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ.
TypeScript ಸಂರಚನೆ: TSConfig ಕಂಪೈಲರ್ ಆಯ್ಕೆಗಳನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು
tsconfig.json ಫೈಲ್ ಯಾವುದೇ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ನ ಹೃದಯವಾಗಿದೆ. ಇದು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ (tsc) ನಿಮ್ಮ .ts ಫೈಲ್ಗಳನ್ನು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಹೇಗೆ ಪರಿವರ್ತಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ದೇಶಿಸುತ್ತದೆ. ಉತ್ತಮವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ tsconfig.json ಕೋಡ್ ಗುಣಮಟ್ಟವನ್ನು ನಿರ್ವಹಿಸಲು, ವಿಭಿನ್ನ ಪರಿಸರಗಳಲ್ಲಿ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಈ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿಯು ಸುಧಾರಿತ tsconfig.json ಆಯ್ಕೆಗಳೊಳಗೆ ಆಳವಾಗಿ ಧುಮುಕುತ್ತದೆ, ಇದು ಗರಿಷ್ಠ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ನಿರ್ವಹಣೆಗಾಗಿ ನಿಮ್ಮ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳನ್ನು ಉತ್ತಮವಾಗಿ ಟ್ಯೂನ್ ಮಾಡಲು ನಿಮಗೆ ಅಧಿಕಾರ ನೀಡುತ್ತದೆ.
ಮೂಲಭೂತ ಅಂಶಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು: TSConfig ಏಕೆ ಮುಖ್ಯವಾಗಿದೆ
ನಾವು ಸುಧಾರಿತ ಆಯ್ಕೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮೊದಲು, tsconfig.json ಏಕೆ ತುಂಬಾ ಮುಖ್ಯವಾಗಿದೆ ಎಂಬುದನ್ನು ಪುನರಾವಲೋಕಿಸೋಣ:
- ಸಂಕಲನ ನಿಯಂತ್ರಣ: ಇದು ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನಲ್ಲಿ ಯಾವ ಫೈಲ್ಗಳನ್ನು ಸೇರಿಸಬೇಕು ಮತ್ತು ಅವುಗಳನ್ನು ಹೇಗೆ ಕಂಪೈಲ್ ಮಾಡಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
- ಟೈಪ್ ಪರಿಶೀಲನೆ: ಇದು ಟೈಪ್ ಪರಿಶೀಲನೆಯ ನಿಯಮಗಳು ಮತ್ತು ಕಠಿಣತೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ, ಅಭಿವೃದ್ಧಿ ಚಕ್ರದ ಆರಂಭದಲ್ಲಿ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.
- ಔಟ್ಪುಟ್ ನಿಯಂತ್ರಣ: ಇದು ಟಾರ್ಗೆಟ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಆವೃತ್ತಿ, ಮಾಡ್ಯೂಲ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
- IDE ಸಮನ್ವಯತೆ: ಕೋಡ್ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ, ದೋಷ ಹೈಲೈಟಿಂಗ್ ಮತ್ತು ರೀಫ್ಯಾಕ್ಟರಿಂಗ್ನಂತಹ ವೈಶಿಷ್ಟ್ಯಗಳಿಗಾಗಿ ಇದು IDE ಗಳಿಗೆ (VS ಕೋಡ್, ವೆಬ್ಸ್ಟಾರ್ಮ್, ಇತ್ಯಾದಿ) ಮೌಲ್ಯಯುತ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
tsconfig.json ಫೈಲ್ ಇಲ್ಲದೆ, ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಎಲ್ಲಾ ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಸೂಕ್ತವಲ್ಲದಿರಬಹುದು. ಇದು ಅನಿರೀಕ್ಷಿತ ನಡವಳಿಕೆ, ಹೊಂದಾಣಿಕೆಯ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಆದರ್ಶ ಅಭಿವೃದ್ಧಿ ಅನುಭವಕ್ಕಿಂತ ಕಡಿಮೆಗೆ ಕಾರಣವಾಗಬಹುದು.
ನಿಮ್ಮ TSConfig ಅನ್ನು ರಚಿಸುವುದು: ತ್ವರಿತ ಪ್ರಾರಂಭ
tsconfig.json ಫೈಲ್ ಅನ್ನು ರಚಿಸಲು, ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನ ರೂಟ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ರನ್ ಮಾಡಿ:
tsc --init
ಇದು ಕೆಲವು ಸಾಮಾನ್ಯ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಮೂಲಭೂತ tsconfig.json ಫೈಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ನಂತರ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನ ನಿರ್ದಿಷ್ಟ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸಲು ನೀವು ಈ ಫೈಲ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು.
ಪ್ರಮುಖ ಕಂಪೈಲರ್ ಆಯ್ಕೆಗಳು: ವಿವರವಾದ ಅವಲೋಕನ
tsconfig.json ಫೈಲ್ compilerOptions ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ನೀವು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಸ್ಥಳವಾಗಿದೆ. ಅತ್ಯಂತ ಮುಖ್ಯವಾದ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಕೆಲವು ಆಯ್ಕೆಗಳನ್ನು ಪರಿಶೀಲಿಸೋಣ:
target
ಈ ಆಯ್ಕೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ನ ECMAScript ಟಾರ್ಗೆಟ್ ಆವೃತ್ತಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಇದು ಕಂಪೈಲರ್ ಯಾವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ಟಾರ್ಗೆಟ್ ಪರಿಸರದೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಬ್ರೌಸರ್ಗಳು, Node.js). ಸಾಮಾನ್ಯ ಮೌಲ್ಯಗಳಲ್ಲಿ ES5, ES6 (ES2015), ES2017, ES2018, ES2019, ES2020, ES2021, ES2022, ESNext ಸೇರಿವೆ. ESNext ಅನ್ನು ಬಳಸುವುದು ಇತ್ತೀಚಿನ ಬೆಂಬಲಿತ ECMAScript ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗುರಿಯಾಗಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"target": "ES2020"
}
ಈ ಸಂರಚನೆಯು ECMAScript 2020 ನೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ಕಂಪೈಲರ್ಗೆ ಸೂಚಿಸುತ್ತದೆ.
module
ಈ ಆಯ್ಕೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ನಲ್ಲಿ ಬಳಸಬೇಕಾದ ಮಾಡ್ಯೂಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಮೌಲ್ಯಗಳಲ್ಲಿ CommonJS, AMD, System, UMD, ES6 (ES2015), ES2020, ಮತ್ತು ESNext ಸೇರಿವೆ. ಮಾಡ್ಯೂಲ್ ಸಿಸ್ಟಮ್ನ ಆಯ್ಕೆಯು ಟಾರ್ಗೆಟ್ ಪರಿಸರ ಮತ್ತು ಬಳಸುತ್ತಿರುವ ಮಾಡ್ಯೂಲ್ ಲೋಡರ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, Node.js, Webpack, Browserify).
ಉದಾಹರಣೆ:
"compilerOptions": {
"module": "CommonJS"
}
ಈ ಸಂರಚನೆಯು ಸಾಮಾನ್ಯವಾಗಿ CommonJS ಮಾಡ್ಯೂಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸುವ Node.js ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಸೂಕ್ತವಾಗಿದೆ.
lib
ಈ ಆಯ್ಕೆಯು ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸೇರಿಸಬೇಕಾದ ಲೈಬ್ರರಿ ಫೈಲ್ಗಳ ಸೆಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಈ ಲೈಬ್ರರಿ ಫೈಲ್ಗಳು ಅಂತರ್ನಿರ್ಮಿತ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ API ಗಳು ಮತ್ತು ಬ್ರೌಸರ್ API ಗಳಿಗಾಗಿ ಟೈಪ್ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಸಾಮಾನ್ಯ ಮೌಲ್ಯಗಳಲ್ಲಿ ES5, ES6, ES7, DOM, WebWorker, ScriptHost ಮತ್ತು ಇನ್ನಷ್ಟು ಸೇರಿವೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"lib": ["ES2020", "DOM"]
}
ಈ ಸಂರಚನೆಯು ECMAScript 2020 ಮತ್ತು DOM API ಗಾಗಿ ಟೈಪ್ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ಬ್ರೌಸರ್-ಆಧಾರಿತ ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಅತ್ಯಗತ್ಯವಾಗಿದೆ.
allowJs
ಈ ಆಯ್ಕೆಯು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳ ಜೊತೆಗೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಸ್ಥಳಾಂತರಿಸುವಾಗ ಅಥವಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ಬೇಸ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಇದು ಉಪಯುಕ್ತವಾಗಬಹುದು.
ಉದಾಹರಣೆ:
"compilerOptions": {
"allowJs": true
}
ಈ ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಕಂಪೈಲರ್ .ts ಮತ್ತು .js ಎರಡೂ ಫೈಲ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ.
checkJs
ಈ ಆಯ್ಕೆಯು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳಿಗಾಗಿ ಟೈಪ್ ಪರಿಶೀಲನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. allowJs ಜೊತೆಗೆ ಸಂಯೋಜಿಸಿದಾಗ, ಇದು ನಿಮ್ಮ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ನಲ್ಲಿನ ಸಂಭಾವ್ಯ ಟೈಪ್ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
ಈ ಸಂರಚನೆಯು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳೆರಡಕ್ಕೂ ಟೈಪ್ ಪರಿಶೀಲನೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
jsx
ಈ ಆಯ್ಕೆಯು JSX ಸಿಂಟ್ಯಾಕ್ಸ್ (React ಮತ್ತು ಇತರ ಫ್ರೇಮ್ವರ್ಕ್ಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ) ಅನ್ನು ಹೇಗೆ ಪರಿವರ್ತಿಸಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಮೌಲ್ಯಗಳಲ್ಲಿ preserve, react, react-native ಮತ್ತು react-jsx ಸೇರಿವೆ. preserve JSX ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಹಾಗೆಯೇ ಬಿಡುತ್ತದೆ, react ಇದನ್ನು React.createElement ಕರೆಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, react-native React Native ಅಭಿವೃದ್ಧಿಗಾಗಿ ಮತ್ತು react-jsx ಇದನ್ನು JSX ಫ್ಯಾಕ್ಟರಿ ಕಾರ್ಯಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. react-jsxdev ಅಭಿವೃದ್ಧಿ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಇದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"jsx": "react"
}
ಈ ಸಂರಚನೆಯು React ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಸೂಕ್ತವಾಗಿದೆ, JSX ಅನ್ನು React.createElement ಕರೆಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
declaration
ಈ ಆಯ್ಕೆಯು ನಿಮ್ಮ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ಗಾಗಿ ಘೋಷಣೆ ಫೈಲ್ಗಳನ್ನು (.d.ts) ಉತ್ಪಾದಿಸುತ್ತದೆ. ಘೋಷಣೆ ಫೈಲ್ಗಳು ನಿಮ್ಮ ಕೋಡ್ಗಾಗಿ ಟೈಪ್ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತವೆ, ಇತರ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಅಥವಾ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಸರಿಯಾದ ಟೈಪ್ ಪರಿಶೀಲನೆಯೊಂದಿಗೆ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"declaration": true
}
ಈ ಸಂರಚನೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳ ಜೊತೆಗೆ .d.ts ಫೈಲ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
declarationMap
ಈ ಆಯ್ಕೆಯು ಉತ್ಪಾದಿತ ಘೋಷಣೆ ಫೈಲ್ಗಳಿಗಾಗಿ ಮೂಲ ನಕ್ಷೆ ಫೈಲ್ಗಳನ್ನು (.d.ts.map) ಉತ್ಪಾದಿಸುತ್ತದೆ. ಮೂಲ ನಕ್ಷೆಗಳು ಡೀಬಗರ್ಗಳು ಮತ್ತು ಇತರ ಪರಿಕರಗಳು ಘೋಷಣೆ ಫೈಲ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಮೂಲ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಮೂಲ ಕೋಡ್ಗೆ ಹಿಂತಿರುಗಲು ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"declaration": true,
"declarationMap": true
}
sourceMap
ಈ ಆಯ್ಕೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ಗಾಗಿ ಮೂಲ ನಕ್ಷೆ ಫೈಲ್ಗಳನ್ನು (.js.map) ಉತ್ಪಾದಿಸುತ್ತದೆ. ಬ್ರೌಸರ್ ಅಥವಾ ಇತರ ಪರಿಸರದಲ್ಲಿ ಡೀಬಗ್ ಮಾಡುವಾಗ ಮೂಲ ನಕ್ಷೆಗಳು ಡೀಬಗರ್ಗಳು ಮತ್ತು ಇತರ ಪರಿಕರಗಳು ಮೂಲ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಮೂಲ ಕೋಡ್ಗೆ ಹಿಂತಿರುಗಲು ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"sourceMap": true
}
outFile
ಈ ಆಯ್ಕೆಯು ಎಲ್ಲಾ ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಒಂದೇ ಫೈಲ್ಗೆ ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಹೊರಸೂಸುತ್ತದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬ್ರೌಸರ್-ಆಧಾರಿತ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಕೋಡ್ ಅನ್ನು ಬಂಡಲಿಂಗ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"outFile": "dist/bundle.js"
}
outDir
ಈ ಆಯ್ಕೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳಿಗಾಗಿ ಔಟ್ಪುಟ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಕಂಪೈಲರ್ ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಮೂಲ ಫೈಲ್ಗಳಂತೆಯೇ ಅದೇ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಇರಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"outDir": "dist"
}
ಈ ಸಂರಚನೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳನ್ನು dist ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಇರಿಸುತ್ತದೆ.
rootDir
ಈ ಆಯ್ಕೆಯು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ನ ರೂಟ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಕಂಪೈಲರ್ ಮಾಡ್ಯೂಲ್ ಹೆಸರುಗಳನ್ನು ಪರಿಹರಿಸಲು ಮತ್ತು ಔಟ್ಪುಟ್ ಫೈಲ್ ಮಾರ್ಗಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಈ ಡೈರೆಕ್ಟರಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಸಂಕೀರ್ಣ ಪ್ರಾಜೆಕ್ಟ್ ರಚನೆಗಳಿಗಾಗಿ ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"rootDir": "src"
}
removeComments
ಈ ಆಯ್ಕೆಯು ಕಂಪೈಲ್ ಮಾಡಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ನಿಂದ ಕಾಮೆಂಟ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಇದು ಔಟ್ಪುಟ್ ಫೈಲ್ಗಳ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"removeComments": true
}
noEmitOnError
ಯಾವುದೇ ಟೈಪ್ ದೋಷಗಳು ಪತ್ತೆಯಾದರೆ ಕಂಪೈಲರ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಹೊರಸೂಸದಂತೆ ಈ ಆಯ್ಕೆಯು ತಡೆಯುತ್ತದೆ. ಇದು ಮಾನ್ಯವಾದ ಕೋಡ್ ಅನ್ನು ಮಾತ್ರ ಉತ್ಪಾದಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"noEmitOnError": true
}
strict
ಈ ಆಯ್ಕೆಯು ಎಲ್ಲಾ ಕಟ್ಟುನಿಟ್ಟಾದ ಟೈಪ್-ಪರಿಶೀಲನೆ ಆಯ್ಕೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಇದು ಹೊಸ ಪ್ರಾಜೆಕ್ಟ್ಗಳಿಗೆ ಹೆಚ್ಚು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಸಂಭಾವ್ಯ ದೋಷಗಳನ್ನು ಹಿಡಿಯಲು ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಜಾರಿಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"strict": true
}
ಕಟ್ಟುನಿಟ್ಟಾದ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಕೆಳಗಿನ ಆಯ್ಕೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ:
noImplicitAnynoImplicitThisalwaysStrictstrictNullChecksstrictFunctionTypesstrictBindCallApplynoImplicitReturnsnoFallthroughCasesInSwitch
esModuleInterop
ಈ ಆಯ್ಕೆಯು CommonJS ಮತ್ತು ES ಮಾಡ್ಯೂಲ್ಗಳ ನಡುವೆ ಪರಸ್ಪರ ಕಾರ್ಯಸಾಧ್ಯತೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಇದು ES ಮಾಡ್ಯೂಲ್ಗಳಲ್ಲಿ CommonJS ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಆಮದು ಮಾಡಲು ಮತ್ತು ಪ್ರತಿಯಾಗಿ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"esModuleInterop": true
}
forceConsistentCasingInFileNames
ಈ ಆಯ್ಕೆಯು ಫೈಲ್ ಹೆಸರುಗಳಲ್ಲಿ ಸ್ಥಿರವಾದ ಕೇಸಿಂಗ್ ಅನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತದೆ. ಕೆಲವು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಆಗಿರುವಾಗ ಇತರವುಗಳು ಅಲ್ಲದ ಕಾರಣ ಇದು ಅಡ್ಡ-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಮುಖ್ಯವಾಗಿದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"forceConsistentCasingInFileNames": true
}
baseUrl ಮತ್ತು paths
ಈ ಆಯ್ಕೆಗಳು ಮಾಡ್ಯೂಲ್ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. baseUrl ಸಂಬಂಧಿತವಲ್ಲದ ಮಾಡ್ಯೂಲ್ ಹೆಸರುಗಳನ್ನು ಪರಿಹರಿಸಲು ಬೇಸ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ ಮತ್ತು paths ಕಸ್ಟಮ್ ಮಾಡ್ಯೂಲ್ ಅಲಿಯಾಸ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@components/*": ["src/components/*"],
"@utils/*": ["src/utils/*"]
}
}
ಈ ಸಂರಚನೆಯು @components/MyComponent ಮತ್ತು @utils/myFunction ನಂತಹ ಅಲಿಯಾಸ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಆಮದು ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಸುಧಾರಿತ ಸಂರಚನೆ: ಮೂಲಭೂತ ಅಂಶಗಳ ಆಚೆಗೆ
ಈಗ, ನಿಮ್ಮ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಅಭಿವೃದ್ಧಿ ಅನುಭವವನ್ನು ಮತ್ತಷ್ಟು ಹೆಚ್ಚಿಸಬಹುದಾದ ಕೆಲವು ಸುಧಾರಿತ tsconfig.json ಆಯ್ಕೆಗಳನ್ನು ಪರಿಶೀಲಿಸೋಣ.
ಕ್ರಮೇಣ ಸಂಕಲನ
ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕ್ರಮೇಣ ಸಂಕಲನವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ದೊಡ್ಡ ಯೋಜನೆಗಳಿಗಾಗಿ ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ವೇಗಗೊಳಿಸುತ್ತದೆ. ಕ್ರಮೇಣ ಸಂಕಲನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, incremental ಆಯ್ಕೆಯನ್ನು true ಗೆ ಹೊಂದಿಸಿ ಮತ್ತು tsBuildInfoFile ಆಯ್ಕೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ.
ಉದಾಹರಣೆ:
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": ".tsbuildinfo"
}
tsBuildInfoFile ಆಯ್ಕೆಯು ಕಂಪೈಲರ್ ಬಿಲ್ಡ್ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ನಂತರದ ಬಿಲ್ಡ್ಗಳ ಸಮಯದಲ್ಲಿ ಯಾವ ಫೈಲ್ಗಳನ್ನು ಮರುಸಂಕಲನ ಮಾಡಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು ಈ ಮಾಹಿತಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
ಪ್ರಾಜೆಕ್ಟ್ ಉಲ್ಲೇಖಗಳು
ಪ್ರಾಜೆಕ್ಟ್ ಉಲ್ಲೇಖಗಳು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಚಿಕ್ಕದಾದ, ಹೆಚ್ಚು ನಿರ್ವಹಿಸಬಹುದಾದ ಪ್ರಾಜೆಕ್ಟ್ಗಳಾಗಿ ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದು ದೊಡ್ಡ ಕೋಡ್ಬೇಸ್ಗಳಿಗಾಗಿ ಬಿಲ್ಡ್ ಸಮಯ ಮತ್ತು ಕೋಡ್ ಸಂಘಟನೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. ಈ ಪರಿಕಲ್ಪನೆಗೆ ಉತ್ತಮ ಸಾದೃಶ್ಯವೆಂದರೆ ಮೈಕ್ರೋಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ - ಪ್ರತಿಯೊಂದು ಸೇವೆಯು ಸ್ವತಂತ್ರವಾಗಿದೆ, ಆದರೆ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಇತರರನ್ನು ಅವಲಂಬಿಸಿದೆ.
ಪ್ರಾಜೆಕ್ಟ್ ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸಲು, ನೀವು ಪ್ರತಿ ಪ್ರಾಜೆಕ್ಟ್ಗಾಗಿ ಪ್ರತ್ಯೇಕ tsconfig.json ಫೈಲ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ. ನಂತರ, ಮುಖ್ಯ tsconfig.json ಫೈಲ್ನಲ್ಲಿ, references ಆಯ್ಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಉಲ್ಲೇಖಿಸಬೇಕಾದ ಪ್ರಾಜೆಕ್ಟ್ಗಳನ್ನು ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
ಉದಾಹರಣೆ:
{
"compilerOptions": {
...
},
"references": [
{ "path": "./project1" },
{ "path": "./project2" }
]
}
ಈ ಸಂರಚನೆಯು ಪ್ರಸ್ತುತ ಪ್ರಾಜೆಕ್ಟ್ ./project1 ಮತ್ತು ./project2 ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿರುವ ಯೋಜನೆಗಳನ್ನು ಅವಲಂಬಿಸಿದೆ ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ಕಸ್ಟಮ್ ಟ್ರಾನ್ಸ್ಫಾರ್ಮರ್ಗಳು
ಕಸ್ಟಮ್ ಟ್ರಾನ್ಸ್ಫಾರ್ಮರ್ಗಳು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ನ ಔಟ್ಪುಟ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದನ್ನು ಕಸ್ಟಮ್ ಕೋಡ್ ಪರಿವರ್ತನೆಗಳನ್ನು ಸೇರಿಸುವುದು, ಬಳಸದ ಕೋಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವುದು ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಪರಿಸರಗಳಿಗೆ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ತಮಗೊಳಿಸುವುದು ಮುಂತಾದ ವಿವಿಧ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಬಳಸಬಹುದು. ಅವುಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ i18n ಅಂತರರಾಷ್ಟ್ರೀಕರಣ ಮತ್ತು ಸ್ಥಳೀಕರಣ ಕಾರ್ಯಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಕಸ್ಟಮ್ ಟ್ರಾನ್ಸ್ಫಾರ್ಮರ್ಗಳನ್ನು ಬಳಸಲು, ನೀವು ಕಂಪೈಲರ್ನಿಂದ ಕರೆಯಲ್ಪಡುವ ಕಾರ್ಯವನ್ನು ರಫ್ತು ಮಾಡುವ ಪ್ರತ್ಯೇಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ. ನಂತರ, tsconfig.json ಫೈಲ್ನಲ್ಲಿ plugins ಆಯ್ಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಟ್ರಾನ್ಸ್ಫಾರ್ಮರ್ ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
ಉದಾಹರಣೆ:
{
"compilerOptions": {
...
"plugins": [
{ "transform": "./transformer.js" }
]
}
}
ಈ ಸಂರಚನೆಯು ./transformer.js ಫೈಲ್ ಅನ್ನು ಕಸ್ಟಮ್ ಟ್ರಾನ್ಸ್ಫಾರ್ಮರ್ ಆಗಿ ಬಳಸಬೇಕು ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
ಫೈಲ್ಗಳು, ಸೇರಿಸಿ ಮತ್ತು ಹೊರತುಪಡಿಸಿ
compilerOptions ಹೊರತುಪಡಿಸಿ, tsconfig.json ನಲ್ಲಿನ ಇತರ ರೂಟ್-ಲೆವೆಲ್ ಆಯ್ಕೆಗಳು ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಯಾವ ಫೈಲ್ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತವೆ:
- files: ಸಂಕಲನದಲ್ಲಿ ಸೇರಿಸಲು ಫೈಲ್ ಮಾರ್ಗಗಳ ಒಂದು ಶ್ರೇಣಿ.
- include: ಸೇರಿಸಬೇಕಾದ ಫೈಲ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಗ್ಲೋಬ್ ಮಾದರಿಗಳ ಶ್ರೇಣಿ.
- exclude: ಹೊರತುಪಡಿಸಬೇಕಾದ ಫೈಲ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಗ್ಲೋಬ್ ಮಾದರಿಗಳ ಶ್ರೇಣಿ.
ಈ ಆಯ್ಕೆಗಳು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ನಿಂದ ಯಾವ ಫೈಲ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬೇಕು ಎಂಬುದರ ಮೇಲೆ ಉತ್ತಮ-ಧಾನ್ಯದ ನಿಯಂತ್ರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯಿಂದ ಪರೀಕ್ಷಾ ಫೈಲ್ಗಳು ಅಥವಾ ಉತ್ಪಾದಿತ ಕೋಡ್ ಅನ್ನು ಹೊರತುಪಡಿಸಬಹುದು.
ಉದಾಹರಣೆ:
{
"compilerOptions": { ... },
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.spec.ts"]
}
ಈ ಸಂರಚನೆಯು src ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಮತ್ತು ಅದರ ಉಪ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿನ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಆದರೆ node_modules ಮತ್ತು dist ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿನ ಫೈಲ್ಗಳನ್ನು ಮತ್ತು .spec.ts ವಿಸ್ತರಣೆಯನ್ನು ಹೊಂದಿರುವ ಯಾವುದೇ ಫೈಲ್ಗಳನ್ನು (ವಿಶಿಷ್ಟವಾಗಿ ಯೂನಿಟ್ ಪರೀಕ್ಷೆಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ) ಹೊರತುಪಡಿಸುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟ ಸನ್ನಿವೇಶಗಳಿಗಾಗಿ ಕಂಪೈಲರ್ ಆಯ್ಕೆಗಳು
ವಿಭಿನ್ನ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಅತ್ಯುತ್ತಮ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಲು ವಿಭಿನ್ನ ಕಂಪೈಲರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಯಸಬಹುದು. ಪ್ರತಿಯೊಂದಕ್ಕೂ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಸನ್ನಿವೇಶಗಳು ಮತ್ತು ಶಿಫಾರಸು ಮಾಡಲಾದ ಕಂಪೈಲರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನೋಡೋಣ.
ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಅಭಿವೃದ್ಧಿ
ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಅಭಿವೃದ್ಧಿಗಾಗಿ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಳಗಿನ ಕಂಪೈಲರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಳಸಲು ಬಯಸುತ್ತೀರಿ:
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "Node",
"jsx": "react-jsx",
"esModuleInterop": true,
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true,
"outDir": "dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
ಈ ಸೆಟ್ಟಿಂಗ್ಗಳು React ಅಥವಾ ಇತರ ರೀತಿಯ ಫ್ರೇಮ್ವರ್ಕ್ಗಳನ್ನು ಬಳಸುವ ಆಧುನಿಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸೂಕ್ತವಾಗಿವೆ. ಅವು ಇತ್ತೀಚಿನ ECMAScript ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗುರಿಯಾಗಿಸುತ್ತವೆ, ES ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಬಳಸುತ್ತವೆ ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ ಟೈಪ್ ಪರಿಶೀಲನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ.
Node.js ಬ್ಯಾಕೆಂಡ್ ಅಭಿವೃದ್ಧಿ
Node.js ಬ್ಯಾಕೆಂಡ್ ಅಭಿವೃದ್ಧಿಗಾಗಿ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಳಗಿನ ಕಂಪೈಲರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಳಸಲು ಬಯಸುತ್ತೀರಿ:
{
"compilerOptions": {
"target": "ESNext",
"module": "CommonJS",
"esModuleInterop": true,
"strict": true,
"sourceMap": true,
"outDir": "dist",
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
ಈ ಸೆಟ್ಟಿಂಗ್ಗಳು CommonJS ಮಾಡ್ಯೂಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸುವ Node.js ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸೂಕ್ತವಾಗಿವೆ. ಅವು ಇತ್ತೀಚಿನ ECMAScript ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗುರಿಯಾಗಿಸುತ್ತವೆ, ಕಟ್ಟುನಿಟ್ಟಾದ ಟೈಪ್ ಪರಿಶೀಲನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ ಮತ್ತು JSON ಫೈಲ್ಗಳನ್ನು ಮಾಡ್ಯೂಲ್ಗಳಾಗಿ ಆಮದು ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಲೈಬ್ರರಿ ಅಭಿವೃದ್ಧಿ
ಲೈಬ್ರರಿ ಅಭಿವೃದ್ಧಿಗಾಗಿ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಳಗಿನ ಕಂಪೈಲರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಳಸಲು ಬಯಸುತ್ತೀರಿ:
{
"compilerOptions": {
"target": "ES5",
"module": "UMD",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "dist",
"strict": true,
"esModuleInterop": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}
ಈ ಸೆಟ್ಟಿಂಗ್ಗಳು ಬ್ರೌಸರ್ ಮತ್ತು Node.js ಪರಿಸರ ಎರಡರಲ್ಲೂ ಬಳಸಬಹುದಾದ ಲೈಬ್ರರಿಗಳನ್ನು ರಚಿಸಲು ಸೂಕ್ತವಾಗಿವೆ. ಅವರು ಸುಧಾರಿತ ಡೆವಲಪರ್ ಅನುಭವಕ್ಕಾಗಿ ಘೋಷಣೆ ಫೈಲ್ಗಳು ಮತ್ತು ಮೂಲ ನಕ್ಷೆಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತಾರೆ.
TSConfig ನಿರ್ವಹಣೆಗಾಗಿ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು
ನಿಮ್ಮ tsconfig.json ಫೈಲ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳಬೇಕಾದ ಕೆಲವು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು ಇಲ್ಲಿವೆ:
- ಬೇಸ್ ಕಾನ್ಫಿಗರೇಶನ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ: ಸಾಮಾನ್ಯ ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ ಬೇಸ್
tsconfig.jsonಫೈಲ್ ರಚಿಸಿ ಮತ್ತು ನಂತರextendsಆಯ್ಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಇತರ ಪ್ರಾಜೆಕ್ಟ್ಗಳಲ್ಲಿ ಅದನ್ನು ವಿಸ್ತರಿಸಿ. - ಕಟ್ಟುನಿಟ್ಟಾದ ಮೋಡ್ ಬಳಸಿ: ಸಂಭಾವ್ಯ ದೋಷಗಳನ್ನು ಹಿಡಿಯಲು ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಜಾರಿಗೊಳಿಸಲು ಕಟ್ಟುನಿಟ್ಟಾದ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.
- ಮಾಡ್ಯೂಲ್ ರೆಸಲ್ಯೂಶನ್ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ: ಆಮದು ದೋಷಗಳನ್ನು ತಪ್ಪಿಸಲು ಮಾಡ್ಯೂಲ್ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಸರಿಯಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.
- ಪ್ರಾಜೆಕ್ಟ್ ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸಿ: ಪ್ರಾಜೆಕ್ಟ್ ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಚಿಕ್ಕದಾದ, ಹೆಚ್ಚು ನಿರ್ವಹಿಸಬಹುದಾದ ಪ್ರಾಜೆಕ್ಟ್ಗಳಾಗಿ ರಚಿಸಿ.
- ನಿಮ್ಮ
tsconfig.jsonಫೈಲ್ ಅನ್ನು ನವೀಕೃತವಾಗಿಡಿ: ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ವಿಕಸನಗೊಳ್ಳುತ್ತಿದ್ದಂತೆ ನಿಮ್ಮtsconfig.jsonಫೈಲ್ ಅನ್ನು ನಿಯಮಿತವಾಗಿ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಅದನ್ನು ನವೀಕರಿಸಿ. - ನಿಮ್ಮ
tsconfig.jsonಫೈಲ್ ಅನ್ನು ಆವೃತ್ತಿ ನಿಯಂತ್ರಿಸಿ: ನಿಮ್ಮ ಇತರ ಮೂಲ ಕೋಡ್ನೊಂದಿಗೆ ನಿಮ್ಮtsconfig.jsonಫೈಲ್ ಅನ್ನು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣಕ್ಕೆ ಕಮಿಟ್ ಮಾಡಿ. - ನಿಮ್ಮ ಸಂರಚನೆಯನ್ನು ಡಾಕ್ಯುಮೆಂಟ್ ಮಾಡಿ: ಪ್ರತಿ ಆಯ್ಕೆಯ ಉದ್ದೇಶವನ್ನು ವಿವರಿಸಲು ನಿಮ್ಮ
tsconfig.jsonಫೈಲ್ಗೆ ಕಾಮೆಂಟ್ಗಳನ್ನು ಸೇರಿಸಿ.
ತೀರ್ಮಾನ: TypeScript ಸಂರಚನೆಯನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು
tsconfig.json ಫೈಲ್ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮತ್ತು ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಒಂದು ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದೆ. ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ನೀವು ಗರಿಷ್ಠ ಕಾರ್ಯಕ್ಷಮತೆ, ನಿರ್ವಹಣೆ ಮತ್ತು ಹೊಂದಾಣಿಕೆಗಾಗಿ ನಿಮ್ಮ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ಗಳನ್ನು ಉತ್ತಮವಾಗಿ ಟ್ಯೂನ್ ಮಾಡಬಹುದು. ಈ ಮಾರ್ಗದರ್ಶಿಯು tsconfig.json ಫೈಲ್ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಸುಧಾರಿತ ಆಯ್ಕೆಗಳ ಸಮಗ್ರ ಅವಲೋಕನವನ್ನು ಒದಗಿಸಿದೆ, ಇದು ನಿಮ್ಮ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಅಭಿವೃದ್ಧಿ ಕೆಲಸದ ಹರಿವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅಧಿಕಾರ ನೀಡುತ್ತದೆ. ಇತ್ತೀಚಿನ ಮಾಹಿತಿಗಾಗಿ ಮತ್ತು ಮಾರ್ಗದರ್ಶನಕ್ಕಾಗಿ ಯಾವಾಗಲೂ ಅಧಿಕೃತ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ದಸ್ತಾವೇಜನ್ನು ಸಂಪರ್ಕಿಸಲು ನೆನಪಿಡಿ. ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ವಿಕಸನಗೊಳ್ಳುತ್ತಿದ್ದಂತೆ, ಈ ಶಕ್ತಿಯುತ ಸಂರಚನಾ ಪರಿಕರಗಳ ನಿಮ್ಮ ತಿಳುವಳಿಕೆ ಮತ್ತು ಬಳಕೆಯೂ ಸಹ ಬದಲಾಗಬೇಕು. ಹ್ಯಾಪಿ ಕೋಡಿಂಗ್!