2021 ರಲ್ಲಿ, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಹೆಚ್ಚು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದೆ.
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಅಪಾರ ಸಂಖ್ಯೆಯ ಚೌಕಟ್ಟುಗಳು ನೋಡಿದಂತೆ ಈ ತಂತ್ರಜ್ಞಾನದ ಮನವಿಯು ನಿರಾಕರಿಸಲಾಗದು.
ಮುಂಭಾಗದಲ್ಲಿ ಕೋನೀಯ, ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ವ್ಯೂ ಇವೆ, ಹಾಗೆಯೇ ಬ್ಯಾಕೆಂಡ್ನಲ್ಲಿ ಎಕ್ಸ್ಪ್ರೆಸ್ ಮತ್ತು ನೆಕ್ಸ್ಟ್, ಕೆಲವನ್ನು ನಮೂದಿಸಬಹುದು.
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಬ್ಯಾಕೆಂಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗಾಗಿ ಹಲವಾರು ಅದ್ಭುತ ಚೌಕಟ್ಟುಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು, ಎಕ್ಸ್ಪ್ರೆಸ್ ಅಥವಾ ನೆಕ್ಸ್ಟ್ ಅನ್ನು ಬಳಸುವುದಕ್ಕಿಂತ ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ನಾನು ಏಕೆ ಹುಡುಕುತ್ತೇನೆ ಎಂದು ನೀವು ಯೋಚಿಸುತ್ತಿರಬಹುದು.
ಬಹುಶಃ ನೀವು ಯೋಗ್ಯವಾದ ಬಾಯ್ಲರ್ಪ್ಲೇಟ್ನೊಂದಿಗೆ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ತ್ವರಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಬೇಕಾಗಬಹುದು ಮತ್ತು ಹೊಸ ನಿಯಂತ್ರಕಗಳನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಸೇವೆಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸೇರಿಸುವುದರಿಂದ ನಿಮಗೆ ಅನಾರೋಗ್ಯ ಉಂಟಾಗುತ್ತದೆ.
ಅಥವಾ ನೀವು ನಿರ್ವಹಿಸಲು ಸರಳವಾದ ದೊಡ್ಡ, ಸ್ಕೇಲೆಬಲ್ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ರಚಿಸಲು ಬಯಸುತ್ತೀರಿ. ಅಥವಾ ಬಹುಶಃ ನೀವು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಮತ್ತು ಅನುಕೂಲಕರ ರೀತಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ಬಯಸುತ್ತೀರಿ.
ನಿಮ್ಮ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ ಯಾವುದು ನಿಜವಾಗಿದ್ದರೂ, Nest.js ನಿಮ್ಮ ಅಗತ್ಯಗಳಿಗೆ ಪರಿಪೂರ್ಣ ಪರಿಹಾರವಾಗಿದೆ.
ಈ ಪೋಸ್ಟ್ NestJS ಒಳನೋಟಗಳನ್ನು ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತದೆ.
NestJS ಎಂದರೇನು?
ನೆಸ್ಟ್ಜೆಎಸ್ ತೆರೆದ ಮೂಲ, ವಿಸ್ತರಿಸಬಹುದಾದ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳಬಲ್ಲ ಪ್ರಗತಿಶೀಲ ನೋಡ್ ಫ್ರೇಮ್ವರ್ಕ್ ಆಗಿದೆ .ಜೆಗಳು ಬ್ಯಾಕೆಂಡ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು, ತೊಡಗಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ಸವಾಲು ಮಾಡಲು ಚೌಕಟ್ಟು. ಇದು ಈಗ ತ್ವರಿತ ಬೆಳವಣಿಗೆ ದರವನ್ನು ಹೊಂದಿರುವ ನೋಡ್ ಆಗಿದೆ.
js ಗಾಗಿ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಫ್ರೇಮ್ವರ್ಕ್. NestJS ಅನ್ನು ಸ್ಕೇಲೆಬಲ್, ಪರೀಕ್ಷಿಸಬಹುದಾದ ಮತ್ತು ಸಡಿಲವಾಗಿ ಸಂಪರ್ಕಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಚಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
ಇದು ನೋಡ್ಗೆ ಸ್ಕೇಲೆಬಿಲಿಟಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ. Js ಸರ್ವರ್ಗಳನ್ನು ಸಂಪೂರ್ಣ ಹೊಸ ಮಟ್ಟಕ್ಕೆ ಕೊಂಡೊಯ್ಯಲಾಗಿದೆ. ಬೆಂಬಲಿತ ಡೇಟಾಬೇಸ್ಗಳಲ್ಲಿ PostgreSQL, MongoDB ಮತ್ತು MySQL ಸೇರಿವೆ.
NestJS ಅನ್ನು ವಿಸ್ತರಿಸಬಹುದಾಗಿದೆ ಏಕೆಂದರೆ ಇದನ್ನು ಇತರ ಲೈಬ್ರರಿಗಳೊಂದಿಗೆ ಬಳಸಬಹುದು; ಹೊಂದಿಕೊಳ್ಳಬಲ್ಲ ಪೂರ್ಣ ಪ್ರಮಾಣದ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಿಂದಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಮತ್ತು ಇದು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ವಿನ್ಯಾಸ ತತ್ವಗಳನ್ನು ಬೆಂಬಲಿಸುವುದರಿಂದ ಪ್ರಗತಿಪರವಾಗಿದೆ.
ಇದು ಪ್ರಾಥಮಿಕವಾಗಿ ಕೋನೀಯ, ರಿಯಾಕ್ಟ್ ಮತ್ತು ವ್ಯೂಗಳಿಂದ ಪ್ರಭಾವಿತವಾಗಿರುತ್ತದೆ ಮತ್ತು ಅಂತರ್ನಿರ್ಮಿತ ಅವಲಂಬನೆ ಇಂಜೆಕ್ಷನ್ನೊಂದಿಗೆ ಬರುತ್ತದೆ.
ವೈಶಿಷ್ಟ್ಯಗಳು
- ಇದು ಬಳಸಲು, ಕಲಿಯಲು ಮತ್ತು ಕರಗತ ಮಾಡಿಕೊಳ್ಳಲು ಸರಳವಾಗಿದೆ.
- ಇದು ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಸಂಪನ್ಮೂಲ (MIT ಪರವಾನಗಿ)
- ಹೆಚ್ಚಿದ ಉತ್ಪಾದಕತೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಯ ಸರಳತೆಗಾಗಿ ಶಕ್ತಿಯುತ ಕಮಾಂಡ್ ಲೈನ್ ಇಂಟರ್ಫೇಸ್ (CLI).
- ಬಳಸಲು ಸರಳವಾದ ಘಟಕ-ಪರೀಕ್ಷಾ ಕಾರ್ಯಕ್ರಮಗಳು
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನ ಸೂಪರ್ಸೆಟ್ ಆಗಿರುವ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್, ಬಿಗಿಯಾಗಿ ಟೈಪ್ ಮಾಡಲಾದ ಭಾಷೆ ಬಳಸಲಾಗಿದೆ.
- ಸಕ್ರಿಯ ಕೋಡ್ಬೇಸ್ನ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ನಿರ್ವಹಣೆ.
- TypeORM, Mongoose, GraphQL, ಲಾಗಿಂಗ್, ಊರ್ಜಿತಗೊಳಿಸುವಿಕೆ, ಕ್ಯಾಶಿಂಗ್, ವೆಬ್ಸಾಕೆಟ್ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಂತಹ ಜನಪ್ರಿಯ ತಂತ್ರಜ್ಞಾನಗಳು ಮತ್ತು ಆಲೋಚನೆಗಳೊಂದಿಗೆ ಇಂಟರ್ಫೇಸ್ ಮಾಡುವುದನ್ನು ಸರಳಗೊಳಿಸುವ ನೂರಾರು ಗೂಡು-ನಿರ್ದಿಷ್ಟ ಮಾಡ್ಯೂಲ್ಗಳಿಗೆ ಬೆಂಬಲ.
NestJS ನ ಬಿಲ್ಡಿಂಗ್ ಬ್ಲಾಕ್ಸ್ ಯಾವುವು?
Nest ಅಪ್ಲಿಕೇಶನ್ಗಳ ಕಟ್ಟಡ ಘಟಕಗಳನ್ನು ಕೆಳಗೆ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ; ಇತರರು ಇವೆ, ಆದರೆ ಈ ಮೂರು ಅತ್ಯಂತ ಮಹತ್ವದ್ದಾಗಿವೆ. ಅವುಗಳನ್ನು ತ್ವರಿತವಾಗಿ ನೋಡೋಣ.
1. ನಿಯಂತ್ರಕರು
ಒಳಬರುವ ವಿನಂತಿಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಮತ್ತು ಗ್ರಾಹಕರಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಲು ನಿಯಂತ್ರಕರು ಉಸ್ತುವಾರಿ ವಹಿಸುತ್ತಾರೆ. ಇದು ನಿರ್ದಿಷ್ಟ HTTP ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಯಾವ ನಿಯಂತ್ರಕವು ಯಾವ ವಿನಂತಿಯನ್ನು ಪಡೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ರೂಟಿಂಗ್ ವ್ಯವಸ್ಥೆಯು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಅದು ನಂತರ ಕಳುಹಿಸಲು ಸೂಕ್ತವಾದ ಉತ್ತರವನ್ನು ರಚಿಸುತ್ತದೆ. ತರಗತಿಗಳು ಮತ್ತು ಅಲಂಕಾರಿಕರ ಸಹಾಯದಿಂದ, ಸರಳವಾದ ಸಂಗ್ರಾಹಕವನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರತಿ ನಿಯಂತ್ರಕವು ವಿವಿಧ ಕಾರ್ಯಗಳನ್ನು ಮಾಡಲು ತನ್ನದೇ ಆದ ಮಾರ್ಗಗಳನ್ನು ಹೊಂದಿದೆ.
2. ಪೂರೈಕೆದಾರರು
Nest ನಲ್ಲಿ ಪೂರೈಕೆದಾರರು ಪ್ರಮುಖ ವಿಚಾರ. ಅನೇಕ ಕೋರ್ ನೆಸ್ಟ್ ತರಗತಿಗಳು - ಸೇವೆಗಳು, ರೆಪೊಸಿಟರಿಗಳು, ಕಾರ್ಖಾನೆಗಳು, ಸಹಾಯಕರು, ಮತ್ತು ಮುಂತಾದವುಗಳನ್ನು ಪೂರೈಕೆದಾರರಾಗಿ ನಿರ್ವಹಿಸಬಹುದು.
ಒದಗಿಸುವವರ ಮೂಲ ಕಲ್ಪನೆಯೆಂದರೆ ಅದನ್ನು ಅವಲಂಬನೆಯಾಗಿ ಚುಚ್ಚಬಹುದು; ಆಬ್ಜೆಕ್ಟ್ಗಳು ಒಂದಕ್ಕೊಂದು ವಿವಿಧ ಸಂಘಗಳನ್ನು ರಚಿಸಬಹುದು ಎಂದು ಇದು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ವಸ್ತುಗಳ "ವೈರಿಂಗ್ ಅಪ್" ನಿದರ್ಶನಗಳ ಪಾತ್ರವನ್ನು ಮುಖ್ಯವಾಗಿ Nest ರನ್ಟೈಮ್ ಸಿಸ್ಟಮ್ಗೆ ಹೊರಗುತ್ತಿಗೆ ನೀಡಬಹುದು.
3. ಮಾಡ್ಯೂಲ್ಗಳು
ಮಾಡ್ಯೂಲ್ ಎನ್ನುವುದು @Module() ಡೆಕೋರೇಟರ್ ಹೊಂದಿರುವ ವರ್ಗವಾಗಿದ್ದು ಅದು ಅಪ್ಲಿಕೇಶನ್ನ ರಚನೆಯ ಅಂಶಗಳನ್ನು ಸಂಘಟಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಅಪ್ಲಿಕೇಶನ್ ರೂಟ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಹೊಂದಿದ್ದು ಅದನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಗ್ರಾಫ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಒದಗಿಸುವವರು ಮತ್ತು ಮಾಡ್ಯೂಲ್ ನಡುವಿನ ಅವಲಂಬನೆಗಳು ಮತ್ತು ಸಂವಹನಗಳನ್ನು ಮತ್ತಷ್ಟು ಪರಿಹರಿಸುತ್ತದೆ.
ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ನಲ್ಲಿ ಯಾವ ಘಟಕಗಳು, ನಿಯಂತ್ರಕಗಳು ಅಥವಾ ಇತರ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ಅವುಗಳನ್ನು ಒಂದೇ ಸೆಟ್ನಲ್ಲಿ ಸಂಯೋಜಿಸಲು ಈ ಡೆಕೋರೇಟರ್ Nest.js ಗೆ ಮೆಟಾಡೇಟಾವನ್ನು ನೀಡುತ್ತದೆ.
ಪ್ರತಿಯೊಂದು ಮಾಡ್ಯೂಲ್ ಕೆಲವು ರೀತಿಯಲ್ಲಿ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಸಾಮರ್ಥ್ಯಗಳ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿದೆ.
NestJS ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ
1. ಅನುಸ್ಥಾಪನ
ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ NestJS ಅನ್ನು ಸ್ಥಾಪಿಸೋಣ ಮತ್ತು ಅದರೊಂದಿಗೆ ಯೋಜನೆಯನ್ನು ಮಾಡೋಣ:
ಇದರ ಪರಿಣಾಮವಾಗಿ ಕೆಳಗಿನ ಡೈರೆಕ್ಟರಿ ರಚನೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ:
2. ನಿಯಂತ್ರಕರು
ನೆಸ್ಟ್ನ ಬಿಲ್ಡಿಂಗ್ ಬ್ಲಾಕ್ಗಳು ನಿಯಂತ್ರಕಗಳಾಗಿವೆ. ಒಳಬರುವ ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸ್ಥಳಗಳು ಇವು. ಕೆಳಗಿನ ಕೋಡ್ನಲ್ಲಿ ನೋಡಿದಂತೆ HTTP ವಿಧಾನ ಮಾರ್ಪಾಡುಗಳನ್ನು (ಪಡೆಯಿರಿ, ಪೋಸ್ಟ್ ಮಾಡಿ, ಇರಿಸಿ, ಅಳಿಸಿ, ಮತ್ತು ಹೀಗೆ) ಡೆಕೋರೇಟರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಮಾರ್ಗ ಮಾರ್ಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
Nestjs ಡೆಕೋರೇಟರ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚಾಗಿ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಆದರೂ ಇದು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಹ ಬೆಂಬಲಿಸುತ್ತದೆ. ವಿನಂತಿಯ ದೇಹವನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ನೀವು ವರ್ಗ ವ್ಯಾಲಿಡೇಟರ್ ಅನ್ನು ಸಹ ಬಳಸಬಹುದು.
ನಾನು Nestjs ಸರ್ವರ್ ನಿದರ್ಶನವನ್ನು ಮಾಡಲು ಮತ್ತು ಜಾಗತಿಕವಾಗಿ ವ್ಯಾಲಿಡೇಶನ್ಪೈಪ್ ಅನ್ನು ಸೇರಿಸಲಿದ್ದೇನೆ. ಪೈಪ್ಗಳು ನಿಯಂತ್ರಕಗಳ ಮೊದಲು ಕಾರ್ಯಗತಗೊಳಿಸುವ ವಿಧಾನಗಳಾಗಿವೆ. @UsePipes ಡೆಕೋರೇಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ವಿಧಾನ/ವಾದದ ಮಟ್ಟದಲ್ಲಿಯೂ ಪೈಪ್ಗಳನ್ನು ಅನ್ವಯಿಸಬಹುದು.
3. ಪೂರೈಕೆದಾರರು
ಪೂರೈಕೆದಾರರು Nestjs ನ ಮತ್ತೊಂದು ನಿರ್ಣಾಯಕ ಅಂಶವಾಗಿದೆ. ಇಲ್ಲಿಯವರೆಗೆ, ನಾನು ತಾತ್ಕಾಲಿಕ ವೇರಿಯಬಲ್ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತಿದ್ದೆ. ಅದಕ್ಕಾಗಿಯೇ ನಿಯಂತ್ರಕ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಂತಹ ಸರಳ ಕಾರ್ಯವನ್ನು ಸಾಧಿಸಬಹುದು.
ಆದಾಗ್ಯೂ, ದೊಡ್ಡದಾದ, ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ತರ್ಕಕ್ಕಾಗಿ, ಕೋಡ್ ಬೇರ್ಪಡಿಕೆ ಮತ್ತು ಮರುಬಳಕೆ ಕಷ್ಟವಾಗುತ್ತದೆ. ಪೂರೈಕೆದಾರರು ಬಂದಾಗ ಇದು. @Injectable decorator ಅನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ವರ್ಗದ ಮೇಲೆ ಒದಗಿಸುವವರನ್ನು ಘೋಷಿಸಬಹುದು/ರಚಿಸಬಹುದು. ನಂತರ, ಪೂರೈಕೆದಾರರನ್ನು ಬಳಸಿಕೊಂಡು, ನೀವು ಅವಲಂಬನೆ ಇಂಜೆಕ್ಷನ್, ಲಾಗಿಂಗ್ ಮತ್ತು ಇತರ ಕಾರ್ಯಗಳನ್ನು ಮಾಡಬಹುದು.
4. ಮಾಡ್ಯೂಲ್ಗಳು
Nestjs ಮಾಡ್ಯೂಲ್ಗಳು ಜಾಗತಿಕವಾಗಿಲ್ಲ; ಬದಲಾಗಿ, ಅವು ಆಳವನ್ನು ಹೊಂದಿವೆ.
ಆದಾಗ್ಯೂ, ಇದನ್ನು ಯಾವುದೇ ಇತರ ಮಾಡ್ಯೂಲ್ಗಳೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಬಹುದು. ಇದು ಆಂಗ್ಯುಲರ್ನಂತೆ, ಗ್ಲೋಬಲ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ನೀಡುತ್ತದೆಯಾದರೂ, ಸೇವೆಗಳು/ನಿಯಂತ್ರಕಗಳನ್ನು Nestj ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುವ ಮಾಡ್ಯೂಲ್ನಲ್ಲಿ ಇರಿಸಲು ಹೆಚ್ಚು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ.
ಹೆಚ್ಚಿನ ಸಮಯ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು NestCLI ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆ ಮಾಡ್ಯೂಲ್ನ ಸಂದರ್ಭದಲ್ಲಿ ರಚಿಸಲಾದ ಪೂರೈಕೆದಾರರು/ನಿಯಂತ್ರಕಗಳನ್ನು CLI ಯಿಂದ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಇವುಗಳನ್ನು ವೈಶಿಷ್ಟ್ಯ ಮಾಡ್ಯೂಲ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.
5. ವಿನಾಯಿತಿ ಶೋಧಕಗಳು
ಎಕ್ಸೆಪ್ಶನ್ ಫಿಲ್ಟರ್ಗಳು ಎರರ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳಾಗಿದ್ದು, ನಿಯಂತ್ರಕವು ಎಕ್ಸೆಪ್ಶನ್ ಅನ್ನು ಎಸೆದಾಗ ಅದನ್ನು ಆಹ್ವಾನಿಸಲಾಗುತ್ತದೆ. ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಮಸ್ಯೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಸೂಕ್ತವಾದ, ಬಳಕೆದಾರ ಸ್ನೇಹಿ ದೋಷ ಸಂದೇಶವನ್ನು ನೀಡುತ್ತದೆ.
NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, ಮತ್ತು ಇತರವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ @nestjs/common ಪ್ಯಾಕೇಜ್ನಿಂದ ಅನೇಕ HttpException ಆನುವಂಶಿಕ ವಿನಾಯಿತಿಗಳನ್ನು ಒದಗಿಸಲಾಗಿದೆ. ನೀವು ನಿಮ್ಮ ಸ್ವಂತ ಎಕ್ಸೆಪ್ಶನ್ ಫಿಲ್ಟರ್ ಅನ್ನು ಸಹ ವಿನ್ಯಾಸಗೊಳಿಸಬಹುದು.
6. ಮಿಡಲ್ವೇರ್
ರೂಟ್ ಹ್ಯಾಂಡ್ಲರ್ನ ಮೊದಲು ಆವಾಹಿಸಲಾದ ಕಾರ್ಯವನ್ನು ಮಿಡಲ್ವೇರ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ವಿನಂತಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ವಸ್ತುಗಳು, ಹಾಗೆಯೇ ಅಪ್ಲಿಕೇಶನ್ನ ವಿನಂತಿ-ಪ್ರತಿಕ್ರಿಯೆ ಚಕ್ರದಲ್ಲಿ ಮುಂದಿನ() ಮಿಡಲ್ವೇರ್ ಕಾರ್ಯವು ಮಿಡಲ್ವೇರ್ ಕಾರ್ಯಗಳಿಗೆ ಪ್ರವೇಶಿಸಬಹುದಾಗಿದೆ.
ಮುಂದಿನ ಎಂಬ ವೇರಿಯಬಲ್ ಅನ್ನು ಮುಂದಿನ ಮಿಡಲ್ವೇರ್ ಕಾರ್ಯವನ್ನು ಗುರುತಿಸಲು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಕಸ್ಟಮ್ ನೆಸ್ಟ್ ಮಿಡಲ್ವೇರ್ ಅನ್ನು @ಇಂಜೆಕ್ಟಬಲ್() ಡೆಕೋರೇಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದು ವಿಧಾನ ಅಥವಾ ವರ್ಗದಲ್ಲಿ ಅಳವಡಿಸಬಹುದಾಗಿದೆ.
7. ಕಾವಲುಗಾರರು
ಗಾರ್ಡ್ ಒಂದು ವಿಷಯಕ್ಕೆ ಮಾತ್ರ ಜವಾಬ್ದಾರರಾಗಿರುತ್ತಾರೆ. ನಿರ್ದಿಷ್ಟ ಸಂದರ್ಭಗಳ ಆಧಾರದ ಮೇಲೆ ನಿಯಂತ್ರಕದಿಂದ ವಿನಂತಿಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ನಿರ್ಣಯಿಸುವುದು ಅವರ ಜವಾಬ್ದಾರಿಯಾಗಿದೆ (ನಿರ್ದಿಷ್ಟವಾಗಿ, ಬಳಕೆದಾರ-ವ್ಯಾಖ್ಯಾನಿತ ತರ್ಕ).
ಇದು ದೃಢೀಕರಣ/ಅಧಿಕಾರಕ್ಕೆ ಸಹಾಯಕವಾಗಿದೆ ಮತ್ತು Nestjs ನಲ್ಲಿ ಶಿಫಾರಸು ಮಾಡಲಾದ ವಿಧಾನವಾಗಿದೆ.
ದೃಢೀಕರಣ/ಅನುಮತಿಗಳು, ಇತ್ಯಾದಿಗಳನ್ನು ಮಿಡಲ್ವೇರ್ ಬಳಸಿ ಮಾಡಬಹುದಾದರೂ, ಎಕ್ಸ್ಪ್ರೆಸ್ ಅಥವಾ ಇತರ HTTP ಸರ್ವರ್ಗಳಲ್ಲಿ ಇದನ್ನು ಮಾಡಲಾಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಅವುಗಳು ಸಂಬಂಧಿತ ಬಲವಾದ ಸಂದರ್ಭವನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ವಿನಂತಿಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಯಾವ ವಿಧಾನವನ್ನು ಬಳಸಲಾಗುವುದು ಎಂದು ತಿಳಿಯಲು ಯಾವುದೇ ಕಾರಣವಿಲ್ಲ.
ಪ್ರಯೋಜನಗಳು
- ಫ್ರೇಮ್ವರ್ಕ್ ಟಿಪ್ಪಣಿಗಳ ಮೇಲೆ ಹೆಚ್ಚು ಅವಲಂಬಿತವಾಗಿದೆ, ಇದನ್ನು ಅಂತಿಮ ಬಿಂದುಗಳಿಂದ ಸ್ವಾಗರ್ ದಾಖಲಾತಿಯವರೆಗೆ ಏನನ್ನೂ ಉತ್ಪಾದಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಅಂತಿಮ ಬಿಂದುಗಳು ಮೂಲಭೂತ ಮತ್ತು ಅಚ್ಚುಕಟ್ಟಾದವು, ಮತ್ತು ಟಿಪ್ಪಣಿಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತವೆ.
- Nest.js ಮಾಡ್ಯೂಲ್-ಆಧಾರಿತ ಫ್ರೇಮ್ವರ್ಕ್ ಆಗಿರುವುದರಿಂದ ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಬಾಹ್ಯೀಕರಿಸುವುದು ಮತ್ತು ಅನೇಕ ಯೋಜನೆಗಳಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡುವುದು ಸರಳವಾಗಿದೆ.
- Nest.js' ಫೋಲ್ಡರ್ ರಚನೆಯು ಕೋನೀಯದಿಂದ ಗಮನಾರ್ಹವಾಗಿ ಪ್ರಭಾವಿತವಾಗಿದೆ. Nest ಸೇವೆಯನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವಾಗ, ಇದು ಕನಿಷ್ಟ ಅಲಭ್ಯತೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
- ಘಟಕಗಳು ತಮ್ಮದೇ ಆದ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ಹೊಂದಿವೆ, ಮೂಲವು ಅಪ್ಲಿಕೇಶನ್ ಮಾಡ್ಯೂಲ್ ಮತ್ತು ಮುಖ್ಯ ಫೈಲ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ. ರಚನೆಯ ಸರಳತೆಯಿಂದಾಗಿ, ಅಪ್ಲಿಕೇಶನ್ನ ರಚನೆಗಿಂತ ಹೆಚ್ಚಾಗಿ ಅಂತಿಮ ಬಿಂದುಗಳು ಮತ್ತು ಅವರ ಗ್ರಾಹಕರ ವಿನ್ಯಾಸಕ್ಕೆ ಹೆಚ್ಚಿನ ಗಮನವನ್ನು ನೀಡಬಹುದು.
- ಆಂಗ್ಯುಲರ್ನಂತೆ Nest, Nestjs/cli ಎಂಬ ಉತ್ತಮ ಕಮಾಂಡ್-ಲೈನ್ ಟೂಲ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಇದು ನೋಡ್ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಮೂಲಕ ಲಭ್ಯವಿದೆ.
ಅನಾನುಕೂಲಗಳು
- ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಕೆ ಮತ್ತು ಕೋನೀಯ ಏಕೀಕರಣದ ವಿಷಯದಲ್ಲಿ Nest ಒಂದು ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಇದು ಬೃಹತ್ ನಿಗಮದ ಹಣಕಾಸಿನ ಬೆಂಬಲವನ್ನು ಹೊಂದಿಲ್ಲ.
- ದಾಖಲಾತಿಗಳ ಕೊರತೆಯು Nest ಬಳಕೆದಾರರಿಗೆ ದೊಡ್ಡ ಅಪಾಯವನ್ನುಂಟುಮಾಡುತ್ತದೆ. ಫ್ರೇಮ್ವರ್ಕ್ ಇತರ ಚೌಕಟ್ಟುಗಳೊಂದಿಗೆ ಅತ್ಯುತ್ತಮ ಸಂವಹನಗಳನ್ನು ಹೊಂದಿದ್ದರೂ, ದಸ್ತಾವೇಜನ್ನು ವಿರಳವಾಗಿರುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಸಂಭಾವ್ಯ ತೊಂದರೆಗಳನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ.
- ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಕೆ ಮತ್ತು ಕೋನೀಯ ವಿಷಯದಲ್ಲಿ Nest ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಿದೆ.
ತೀರ್ಮಾನ
NestJS ಡೆವಲಪರ್ಗಳಿಗೆ ದೊಡ್ಡ ಲೆಗ್ ಅಪ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅಭಿವೃದ್ಧಿಯನ್ನು ಪ್ರಾರಂಭಿಸಲು, ನೀವು ಮಾಡಬೇಕಾಗಿರುವುದು ಇಷ್ಟೇ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರಚಿಸಿ ಮತ್ತು ನೀವು ಹೋಗುವುದು ಒಳ್ಳೆಯದು. ಸೂಕ್ತವಾದ ಅಪ್ಲಿಕೇಶನ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ ಹೆಚ್ಚುವರಿ ಹಂತಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವಲ್ಲಿ ನಿಮಗೆ ಸಹಾಯ ಮಾಡುವಾಗ ಈ ಫ್ರೇಮ್ವರ್ಕ್ ತಕ್ಷಣವೇ ಗಮನಾರ್ಹವಾದ ಉತ್ತೇಜನವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಇದು ಅತ್ಯಾಧುನಿಕ ವಿಧಾನಗಳು ಮತ್ತು ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ವಹಿಸಬಹುದಾದ ಮತ್ತು ದೀರ್ಘಕಾಲೀನ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಇದನ್ನು GraphQL, WebSockets ಗೆ ಸಂಪರ್ಕಿಸಲು ಮತ್ತು ಮೈಕ್ರೊ ಸರ್ವೀಸ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸಬಹುದು.
ಪ್ರತ್ಯುತ್ತರ ನೀಡಿ