2021 ਵਿੱਚ, JavaScript ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਸੀ।
ਇਸ ਤਕਨਾਲੋਜੀ ਦੀ ਅਪੀਲ ਅਸਵੀਕਾਰਨਯੋਗ ਹੈ, ਜਿਵੇਂ ਕਿ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਪ੍ਰੋਗਰਾਮਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਵਾਲੇ ਫਰੇਮਵਰਕ ਦੀ ਵਿਸ਼ਾਲ ਸੰਖਿਆ ਦੁਆਰਾ ਦੇਖਿਆ ਗਿਆ ਹੈ।
ਫਰੰਟਐਂਡ 'ਤੇ ਐਂਗੁਲਰ, ਰੀਐਕਟ ਅਤੇ ਵਯੂ ਹਨ, ਨਾਲ ਹੀ ਬੈਕਐਂਡ 'ਤੇ ਐਕਸਪ੍ਰੈਸ ਅਤੇ ਨੈਕਸਟ, ਕੁਝ ਦਾ ਜ਼ਿਕਰ ਕਰਨ ਲਈ।
JavaScript ਪਹੁੰਚਯੋਗ ਵਿੱਚ ਬੈਕਐਂਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਲਈ ਬਹੁਤ ਸਾਰੇ ਸ਼ਾਨਦਾਰ ਫਰੇਮਵਰਕ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਸ਼ਾਇਦ ਸੋਚ ਰਹੇ ਹੋਵੋਗੇ ਕਿ ਮੈਂ ਐਕਸਪ੍ਰੈਸ ਜਾਂ ਨੈਕਸਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ ਕੁਝ ਵੱਖਰਾ ਕਿਉਂ ਲੱਭਾਂਗਾ।
ਸ਼ਾਇਦ ਤੁਹਾਨੂੰ ਇੱਕ ਵਧੀਆ ਬਾਇਲਰਪਲੇਟ ਨਾਲ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਅਤੇ ਹੱਥੀਂ ਨਾ ਸਿਰਫ਼ ਨਵੇਂ ਕੰਟਰੋਲਰਾਂ ਨੂੰ ਜੋੜਨਾ, ਸਗੋਂ ਸੇਵਾਵਾਂ ਵੀ ਤੁਹਾਨੂੰ ਬੀਮਾਰ ਬਣਾਉਂਦੀਆਂ ਹਨ।
ਜਾਂ ਤੁਸੀਂ ਵੱਡੇ, ਸਕੇਲੇਬਲ ਸੌਫਟਵੇਅਰ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਜੋ ਪ੍ਰਬੰਧਨ ਲਈ ਸਧਾਰਨ ਹੈ। ਜਾਂ ਸ਼ਾਇਦ ਤੁਸੀਂ ਸਿਰਫ਼ ਵਧੇਰੇ ਕੁਸ਼ਲ ਅਤੇ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
ਤੁਹਾਡੀ ਸਥਿਤੀ ਵਿੱਚ ਜੋ ਵੀ ਸੱਚ ਹੈ, Nest.js ਤੁਹਾਡੀਆਂ ਲੋੜਾਂ ਲਈ ਸਹੀ ਹੱਲ ਹੋ ਸਕਦਾ ਹੈ।
ਇਹ ਪੋਸਟ NestJS ਇਨਸਾਈਟਸ ਦੇ ਨਾਲ-ਨਾਲ ਹੈਂਡ-ਆਨ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰੇਗੀ।
NestJS ਕੀ ਹੈ?
NestJS ਇੱਕ ਪ੍ਰਗਤੀਸ਼ੀਲ ਨੋਡ ਫਰੇਮਵਰਕ ਹੈ ਜੋ ਓਪਨ-ਸੋਰਸ, ਵਿਸਤ੍ਰਿਤ, ਅਤੇ ਅਨੁਕੂਲ ਹੈ .ਜੇ.ਐਸ ਬੈਕਐਂਡ ਸਿਸਟਮ ਬਣਾਉਣ, ਰੁਝੇਵੇਂ ਅਤੇ ਚੁਣੌਤੀਪੂਰਨ ਲਈ ਢਾਂਚਾ। ਇਹ ਹੁਣ ਸਭ ਤੋਂ ਤੇਜ਼ ਵਿਕਾਸ ਦਰ ਵਾਲਾ ਨੋਡ ਹੈ।
Js ਲਈ TypeScript ਫਰੇਮਵਰਕ. NestJS ਦੀ ਵਰਤੋਂ ਉਹਨਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਸਕੇਲੇਬਲ, ਟੈਸਟ ਕਰਨ ਯੋਗ, ਅਤੇ ਢਿੱਲੇ ਢੰਗ ਨਾਲ ਜੁੜੀਆਂ ਹੁੰਦੀਆਂ ਹਨ।
ਇਹ ਨੋਡ ਵਿੱਚ ਸਕੇਲੇਬਿਲਟੀ ਜੋੜਦਾ ਹੈ। Js ਸਰਵਰਾਂ ਨੂੰ ਬਿਲਕੁਲ ਨਵੇਂ ਪੱਧਰ 'ਤੇ ਲਿਜਾਇਆ ਗਿਆ ਹੈ। PostgreSQL, MongoDB, ਅਤੇ MySQL ਸਮਰਥਿਤ ਡਾਟਾਬੇਸ ਵਿੱਚੋਂ ਹਨ।
NestJS ਐਕਸਟੈਂਸੀਬਲ ਹੈ ਕਿਉਂਕਿ ਇਸਨੂੰ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ; ਲਚਕੀਲਾ ਕਿਉਂਕਿ ਇਸਦੇ ਅਨੁਕੂਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵਿਕਸਤ ਈਕੋਸਿਸਟਮ. ਅਤੇ ਪ੍ਰਗਤੀਸ਼ੀਲ ਕਿਉਂਕਿ ਇਹ JavaScript ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਡਿਜ਼ਾਈਨ ਸਿਧਾਂਤਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ।
ਇਹ ਮੁੱਖ ਤੌਰ 'ਤੇ Angular, React, ਅਤੇ Vue ਦੁਆਰਾ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦਾ ਹੈ ਅਤੇ ਬਿਲਟ-ਇਨ ਨਿਰਭਰਤਾ ਇੰਜੈਕਸ਼ਨ ਦੇ ਨਾਲ ਆਉਂਦਾ ਹੈ।
ਫੀਚਰ
- ਇਹ ਵਰਤਣਾ, ਸਿੱਖਣਾ ਅਤੇ ਮਾਸਟਰ ਕਰਨਾ ਆਸਾਨ ਹੈ।
- ਇਹ ਮੁਫ਼ਤ ਹੈ ਅਤੇ ਓਪਨ-ਸਰੋਤ (MIT ਲਾਇਸੰਸ)
- ਉਤਪਾਦਕਤਾ ਅਤੇ ਵਿਕਾਸ ਦੀ ਸਰਲਤਾ ਲਈ ਸ਼ਕਤੀਸ਼ਾਲੀ ਕਮਾਂਡ ਲਾਈਨ ਇੰਟਰਫੇਸ (CLI)
- ਯੂਨਿਟ-ਟੈਸਟਿੰਗ ਪ੍ਰੋਗਰਾਮ ਜੋ ਵਰਤਣ ਲਈ ਸਧਾਰਨ ਹਨ
- TypeScript, ਇੱਕ ਸਖਤੀ ਨਾਲ ਟਾਈਪ ਕੀਤੀ ਭਾਸ਼ਾ ਜੋ JavaScript ਦਾ ਇੱਕ ਸੁਪਰਸੈੱਟ ਹੈ, ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
- ਇੱਕ ਸਰਗਰਮ ਕੋਡਬੇਸ ਦਾ ਵਿਕਾਸ ਅਤੇ ਰੱਖ-ਰਖਾਅ।
- ਸੈਂਕੜੇ ਆਲ੍ਹਣਾ-ਵਿਸ਼ੇਸ਼ ਮੋਡੀਊਲਾਂ ਲਈ ਸਮਰਥਨ ਜੋ ਪ੍ਰਸਿੱਧ ਤਕਨਾਲੋਜੀਆਂ ਅਤੇ TypeORM, Mongoose, GraphQL, ਲੌਗਿੰਗ, ਪ੍ਰਮਾਣਿਕਤਾ, ਕੈਚਿੰਗ, WebSockets, ਅਤੇ ਹੋਰ ਵਰਗੇ ਵਿਚਾਰਾਂ ਨਾਲ ਇੰਟਰਫੇਸ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਨ।
NestJS ਦੇ ਬਿਲਡਿੰਗ ਬਲਾਕ ਕੀ ਹਨ?
Nest ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਬਿਲਡਿੰਗ ਕੰਪੋਨੈਂਟ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ; ਹੋਰ ਵੀ ਹਨ, ਪਰ ਇਹ ਤਿੰਨ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਨ। ਆਓ ਉਨ੍ਹਾਂ 'ਤੇ ਜਲਦੀ ਨਜ਼ਰ ਮਾਰੀਏ।
1. ਕੰਟਰੋਲਰ
ਕੰਟਰੋਲਰ ਆਉਣ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਗਾਹਕਾਂ ਨੂੰ ਜਵਾਬ ਦੇਣ ਦੇ ਇੰਚਾਰਜ ਹਨ। ਇਹ ਖਾਸ HTTP ਬੇਨਤੀਆਂ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਰੂਟਿੰਗ ਸਿਸਟਮ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਕੰਟਰੋਲਰ ਕਿਹੜੀ ਬੇਨਤੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
ਇਹ ਫਿਰ ਭੇਜਣ ਲਈ ਇੱਕ ਢੁਕਵਾਂ ਜਵਾਬ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਕਲਾਸਾਂ ਅਤੇ ਸਜਾਵਟ ਕਰਨ ਵਾਲਿਆਂ ਦੀ ਮਦਦ ਨਾਲ, ਇੱਕ ਸਧਾਰਨ ਕੁਲੈਕਟਰ ਬਣਾਇਆ ਗਿਆ ਹੈ ਅਤੇ ਹਰੇਕ ਕੰਟਰੋਲਰ ਕੋਲ ਵੱਖ-ਵੱਖ ਕੰਮਾਂ ਨੂੰ ਕਰਨ ਲਈ ਰੂਟਾਂ ਦਾ ਆਪਣਾ ਸੈੱਟ ਹੈ।
2. ਪ੍ਰਦਾਤਾ
Nest ਵਿੱਚ ਪ੍ਰਦਾਨਕ ਇੱਕ ਮੁੱਖ ਵਿਚਾਰ ਹਨ। ਕਈ ਕੋਰ Nest ਕਲਾਸਾਂ — ਸੇਵਾਵਾਂ, ਰਿਪੋਜ਼ਟਰੀਆਂ, ਫੈਕਟਰੀਆਂ, ਸਹਾਇਕ, ਅਤੇ ਹੋਰ - ਨੂੰ ਪ੍ਰਦਾਤਾ ਵਜੋਂ ਸੰਭਾਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਇੱਕ ਪ੍ਰਦਾਤਾ ਦੀ ਮੂਲ ਧਾਰਨਾ ਇਹ ਹੈ ਕਿ ਇਸਨੂੰ ਇੱਕ ਨਿਰਭਰਤਾ ਦੇ ਰੂਪ ਵਿੱਚ ਟੀਕਾ ਲਗਾਇਆ ਜਾ ਸਕਦਾ ਹੈ; ਇਸਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਆਬਜੈਕਟ ਇੱਕ ਦੂਜੇ ਨਾਲ ਵੱਖ-ਵੱਖ ਸਬੰਧ ਬਣਾ ਸਕਦੇ ਹਨ, ਅਤੇ ਆਬਜੈਕਟ ਦੇ "ਵਾਇਰਿੰਗ ਅੱਪ" ਉਦਾਹਰਨਾਂ ਦੀ ਭੂਮਿਕਾ ਮੁੱਖ ਤੌਰ 'ਤੇ Nest ਰਨਟਾਈਮ ਸਿਸਟਮ ਨੂੰ ਆਊਟਸੋਰਸ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
3. ਮੋਡੀ .ਲ
ਇੱਕ ਮੋਡੀਊਲ @Module() ਸਜਾਵਟ ਵਾਲਾ ਇੱਕ ਕਲਾਸ ਹੈ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਢਾਂਚੇ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸੰਗਠਿਤ ਕਰਦਾ ਹੈ। ਹਰੇਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਰੂਟ ਮੋਡੀਊਲ ਹੁੰਦਾ ਹੈ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਗ੍ਰਾਫ ਨੂੰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਪ੍ਰਦਾਤਾ ਅਤੇ ਮੋਡੀਊਲ ਵਿਚਕਾਰ ਨਿਰਭਰਤਾ ਅਤੇ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।
ਇਹ ਸਜਾਵਟ ਕਰਨ ਵਾਲਾ Nest.js ਨੂੰ ਮੈਟਾਡੇਟਾ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਪਤਾ ਲਗਾਇਆ ਜਾ ਸਕੇ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਕਿਹੜੇ ਭਾਗਾਂ, ਕੰਟਰੋਲਰਾਂ ਜਾਂ ਹੋਰ ਸਰੋਤਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇਗੀ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਸਿੰਗਲ ਸੈੱਟ ਵਿੱਚ ਜੋੜਿਆ ਜਾਵੇਗਾ।
ਹਰੇਕ ਮੋਡੀਊਲ ਵਿੱਚ ਸਮਰੱਥਾਵਾਂ ਦਾ ਇੱਕ ਸੰਗ੍ਰਹਿ ਹੁੰਦਾ ਹੈ ਜੋ ਕਿਸੇ ਤਰੀਕੇ ਨਾਲ ਜੁੜੇ ਹੁੰਦੇ ਹਨ।
NestJS ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨਾ
1. ਇੰਸਟਾਲੇਸ਼ਨ
ਆਓ NestJS ਨੂੰ ਸਥਾਪਿਤ ਕਰੀਏ ਅਤੇ ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਕੇ ਇਸ ਨਾਲ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ:
ਇਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੇਠ ਲਿਖੀ ਡਾਇਰੈਕਟਰੀ ਬਣਤਰ ਬਣਾਈ ਜਾਵੇਗੀ:
2. ਕੰਟਰੋਲਰ
Nest ਦੇ ਬਿਲਡਿੰਗ ਬਲਾਕ ਕੰਟਰੋਲਰ ਹਨ। ਇਹ ਉਹ ਸਥਾਨ ਹਨ ਜਿੱਥੇ ਆਉਣ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਿਆ ਜਾਵੇਗਾ। ਤੁਸੀਂ HTTP ਵਿਧੀ ਸੰਸ਼ੋਧਕ (Get, Post, Put, Delete, and so on) ਸਜਾਵਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਰੂਟ ਮਾਰਗ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਵਿੱਚ ਦੇਖਿਆ ਗਿਆ ਹੈ।
Nestjs ਸਜਾਵਟ ਕਰਨ ਵਾਲੀ ਪਹੁੰਚ ਨੂੰ ਵਰਤਦਾ ਹੈ ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਟਾਈਪਸਕ੍ਰਿਪਟ ਵਿੱਚ ਵਿਕਸਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਹਾਲਾਂਕਿ ਇਹ JavaScript ਦਾ ਸਮਰਥਨ ਵੀ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਬੇਨਤੀ ਬਾਡੀ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਕਲਾਸ ਵੈਲੀਡੇਟਰ ਦੀ ਵਰਤੋਂ ਵੀ ਕਰ ਸਕਦੇ ਹੋ।
ਮੈਂ ਸਿਰਫ਼ ਇੱਕ Nestjs ਸਰਵਰ ਉਦਾਹਰਨ ਬਣਾਉਣ ਜਾ ਰਿਹਾ ਹਾਂ ਅਤੇ ਵਿਸ਼ਵ ਪੱਧਰ 'ਤੇ ValidationPipe ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਜਾ ਰਿਹਾ ਹਾਂ। ਪਾਈਪ ਸਿਰਫ਼ ਉਹ ਢੰਗ ਹਨ ਜੋ ਕੰਟਰੋਲਰਾਂ ਤੋਂ ਪਹਿਲਾਂ ਚਲਾਉਂਦੇ ਹਨ। ਪਾਈਪਾਂ ਨੂੰ @UsePipes ਡੈਕੋਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਧੀ/ਆਰਗੂਮੈਂਟ ਪੱਧਰ 'ਤੇ ਵੀ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
3. ਪ੍ਰਦਾਤਾ
ਪ੍ਰਦਾਤਾ Nestjs ਦਾ ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹਨ। ਹੁਣ ਤੱਕ, ਮੈਂ ਇੱਕ ਅਸਥਾਈ ਵੇਰੀਏਬਲ ਵਿੱਚ ਡੇਟਾ ਸਟੋਰ ਕਰ ਰਿਹਾ ਸੀ. ਇਸ ਲਈ ਕੰਟਰੋਲਰ ਹੈਂਡਲਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਜਿਹਾ ਸਧਾਰਨ ਕੰਮ ਪੂਰਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਹਾਲਾਂਕਿ, ਵੱਡੇ, ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਤਰਕ ਲਈ, ਕੋਡ ਨੂੰ ਵੱਖ ਕਰਨਾ ਅਤੇ ਮੁੜ ਵਰਤੋਂ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋਵੇਗਾ। ਇਹ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਸਪਲਾਇਰ ਆਉਂਦੇ ਹਨ। ਤੁਸੀਂ @Injectable ਡੈਕੋਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਲਾਸ ਦੇ ਸਿਖਰ 'ਤੇ ਇੱਕ ਪ੍ਰਦਾਤਾ ਘੋਸ਼ਿਤ/ਬਣਾ ਸਕਦੇ ਹੋ। ਫਿਰ, ਪ੍ਰਦਾਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਨਿਰਭਰਤਾ ਇੰਜੈਕਸ਼ਨ, ਲੌਗਿੰਗ ਅਤੇ ਹੋਰ ਕੰਮ ਕਰ ਸਕਦੇ ਹੋ।
4. ਮੋਡੀ .ਲ
Nestjs ਮੋਡੀਊਲ ਗਲੋਬਲ ਨਹੀਂ ਹਨ; ਇਸ ਦੀ ਬਜਾਏ, ਉਹਨਾਂ ਕੋਲ ਡੂੰਘਾਈ ਹੈ।
ਹਾਲਾਂਕਿ, ਇਸਨੂੰ ਕਿਸੇ ਹੋਰ ਮੋਡੀਊਲ ਨਾਲ ਵੀ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ ਇਹ, ਐਂਗੁਲਰ ਵਾਂਗ, ਗਲੋਬਲ ਮੌਡਿਊਲ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ, ਸੇਵਾਵਾਂ/ਕੰਟਰੋਲਰਸ ਨੂੰ ਮੋਡੀਊਲ ਵਿੱਚ ਰੱਖਣ ਦੀ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਜਿੱਥੇ ਉਹ Nestjs ਵਿੱਚ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।
NestCLI ਦੀ ਵਰਤੋਂ ਜ਼ਿਆਦਾਤਰ ਸਮੇਂ ਮੋਡੀਊਲ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਉਸ ਮੋਡੀਊਲ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਤਿਆਰ ਕੀਤੇ ਪ੍ਰਦਾਤਾ/ਕੰਟਰੋਲਰ ਆਪਣੇ ਆਪ CLI ਦੁਆਰਾ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਇਹਨਾਂ ਨੂੰ ਫੀਚਰ ਮੋਡੀਊਲ ਵਜੋਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ।
5. ਅਪਵਾਦ ਫਿਲਟਰ
ਅਪਵਾਦ ਫਿਲਟਰ ਅਸ਼ੁੱਧੀ ਹੈਂਡਲਰ ਹੁੰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਉਦੋਂ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਕੰਟਰੋਲਰ ਇੱਕ ਅਪਵਾਦ ਸੁੱਟਦਾ ਹੈ। ਇਹ ਆਪਣੇ ਆਪ ਹੀ ਮੁੱਦੇ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਉਚਿਤ, ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਬਹੁਤ ਸਾਰੇ HttpException ਵਿਰਾਸਤੀ ਅਪਵਾਦ ਪੈਕੇਜ @nestjs/common ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ, ਜਿਸ ਵਿੱਚ NotFoundException, BadRequestException, NotAcceptableException, UnauthorizedException, ਅਤੇ ਕਈ ਹੋਰ ਸ਼ਾਮਲ ਹਨ। ਤੁਸੀਂ ਆਪਣਾ ਅਪਵਾਦ ਫਿਲਟਰ ਵੀ ਡਿਜ਼ਾਈਨ ਕਰ ਸਕਦੇ ਹੋ।
6. ਮਿਡਲਵੇਅਰ
ਇੱਕ ਫੰਕਸ਼ਨ ਜੋ ਰੂਟ ਹੈਂਡਲਰ ਤੋਂ ਪਹਿਲਾਂ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ ਨੂੰ ਮਿਡਲਵੇਅਰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਬੇਨਤੀ ਅਤੇ ਜਵਾਬ ਆਬਜੈਕਟ, ਨਾਲ ਹੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਬੇਨਤੀ-ਜਵਾਬ ਚੱਕਰ ਵਿੱਚ ਅਗਲੇ() ਮਿਡਲਵੇਅਰ ਫੰਕਸ਼ਨ, ਮਿਡਲਵੇਅਰ ਫੰਕਸ਼ਨਾਂ ਲਈ ਪਹੁੰਚਯੋਗ ਹਨ।
ਨੈਕਸਟ ਨਾਂ ਦਾ ਵੇਰੀਏਬਲ ਆਮ ਤੌਰ 'ਤੇ ਅਗਲੇ ਮਿਡਲਵੇਅਰ ਫੰਕਸ਼ਨ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਕਸਟਮ Nest ਮਿਡਲਵੇਅਰ ਨੂੰ @Injectable() ਡੈਕੋਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਢੰਗ ਜਾਂ ਕਲਾਸ ਵਿੱਚ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
7. ਗਾਰਡ
ਗਾਰਡ ਸਿਰਫ ਇੱਕ ਚੀਜ਼ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹਨ. ਇਹ ਮੁਲਾਂਕਣ ਕਰਨਾ ਉਹਨਾਂ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਹੈ ਕਿ ਕੀ ਕਿਸੇ ਬੇਨਤੀ 'ਤੇ ਨਿਯੰਤਰਕ ਦੁਆਰਾ ਵਿਸ਼ੇਸ਼ ਸਥਿਤੀਆਂ (ਖਾਸ ਤੌਰ 'ਤੇ, ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਤਰਕ) ਦੇ ਅਧਾਰ ਤੇ ਪ੍ਰਕਿਰਿਆ ਕੀਤੀ ਜਾਵੇਗੀ ਜਾਂ ਨਹੀਂ।
ਇਹ ਪ੍ਰਮਾਣਿਕਤਾ/ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਮਦਦਗਾਰ ਹੈ ਅਤੇ Nestjs ਵਿੱਚ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਵਿਧੀ ਹੈ।
ਹਾਲਾਂਕਿ ਪ੍ਰਮਾਣਿਕਤਾ/ਅਧਿਕਾਰੀਆਂ, ਆਦਿ, ਮਿਡਲਵੇਅਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ, ਇਹ ਐਕਸਪ੍ਰੈਸ ਜਾਂ ਹੋਰ HTTP ਸਰਵਰਾਂ ਵਿੱਚ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਉਹਨਾਂ ਕੋਲ ਕੋਈ ਸੰਬੰਧਿਤ ਮਜ਼ਬੂਤ ਸੰਦਰਭ ਨਹੀਂ ਹੈ ਅਤੇ ਇਹ ਜਾਣਨ ਦਾ ਕੋਈ ਕਾਰਨ ਨਹੀਂ ਹੈ ਕਿ ਬੇਨਤੀ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਕਿਹੜਾ ਤਰੀਕਾ ਵਰਤਿਆ ਜਾਵੇਗਾ।
ਫਾਇਦੇ
- ਫਰੇਮਵਰਕ ਐਨੋਟੇਸ਼ਨਾਂ 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਨਿਰਭਰ ਹੈ, ਜੋ ਕਿ ਅੰਤਮ ਬਿੰਦੂਆਂ ਤੋਂ ਲੈ ਕੇ ਸਵੈਗਰ ਦਸਤਾਵੇਜ਼ਾਂ ਤੱਕ ਕੁਝ ਵੀ ਤਿਆਰ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਅੰਤਮ ਬਿੰਦੂ ਬੁਨਿਆਦੀ ਅਤੇ ਸੁਥਰੇ ਹਨ, ਅਤੇ ਐਨੋਟੇਸ਼ਨ ਆਮ ਤੌਰ 'ਤੇ ਵਿਕਾਸ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦੀਆਂ ਹਨ।
- Nest.js ਇੱਕ ਮੋਡੀਊਲ-ਆਧਾਰਿਤ ਫਰੇਮਵਰਕ ਹੈ, ਕਿਉਂਕਿ ਬਹੁਤ ਸਾਰੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਆਮ-ਉਦੇਸ਼ ਵਾਲੇ ਮੋਡਿਊਲਾਂ ਨੂੰ ਬਾਹਰੀ ਬਣਾਉਣਾ ਅਤੇ ਕੋਡ ਦੀ ਮੁੜ ਵਰਤੋਂ ਕਰਨਾ ਆਸਾਨ ਹੈ।
- Nest.js ਦਾ ਫੋਲਡਰ ਢਾਂਚਾ ਐਂਗੁਲਰ ਦੁਆਰਾ ਕਾਫ਼ੀ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦਾ ਹੈ। Nest ਸੇਵਾ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਦੇ ਸਮੇਂ, ਇਹ ਘੱਟੋ-ਘੱਟ ਡਾਊਨਟਾਈਮ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
- ਕੰਪੋਨੈਂਟਾਂ ਦੀਆਂ ਆਪਣੀਆਂ ਡਾਇਰੈਕਟਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ, ਰੂਟ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਮੋਡੀਊਲ ਅਤੇ ਮੁੱਖ ਫਾਈਲ ਹੁੰਦੀ ਹੈ। ਢਾਂਚੇ ਦੀ ਸਾਦਗੀ ਦੇ ਕਾਰਨ, ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਬਣਤਰ ਦੀ ਬਜਾਏ ਅੰਤਮ ਬਿੰਦੂਆਂ ਅਤੇ ਉਹਨਾਂ ਦੇ ਗਾਹਕਾਂ ਦੇ ਡਿਜ਼ਾਈਨ 'ਤੇ ਜ਼ਿਆਦਾ ਧਿਆਨ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- Nest, ਐਂਗੁਲਰ ਵਾਂਗ, ਇੱਕ ਵਧੀਆ ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲ, Nestjs/cli ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ, ਜੋ ਨੋਡ ਪੈਕੇਜ ਮੈਨੇਜਰ ਦੁਆਰਾ ਉਪਲਬਧ ਹੈ।
ਨੁਕਸਾਨ
- Nest ਦਾ TypeScript ਵਰਤੋਂ ਅਤੇ Angular ਏਕੀਕਰਣ ਦੇ ਰੂਪ ਵਿੱਚ ਇੱਕ ਫਾਇਦਾ ਹੈ, ਪਰ ਇਸ ਵਿੱਚ ਇੱਕ ਵਿਸ਼ਾਲ ਕਾਰਪੋਰੇਸ਼ਨ ਦੀ ਵਿੱਤੀ ਸਹਾਇਤਾ ਦੀ ਘਾਟ ਹੈ।
- ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਘਾਟ ਨੇਸਟ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਸਭ ਤੋਂ ਵੱਡਾ ਖਤਰਾ ਹੈ। ਹਾਲਾਂਕਿ ਫਰੇਮਵਰਕ ਦਾ ਦੂਜੇ ਫਰੇਮਵਰਕ ਨਾਲ ਸ਼ਾਨਦਾਰ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਹੈ, ਪਰ ਦਸਤਾਵੇਜ਼ ਬਹੁਤ ਘੱਟ ਹਨ ਅਤੇ ਕਿਸੇ ਸੰਭਾਵੀ ਮੁਸ਼ਕਲਾਂ ਨੂੰ ਹੱਲ ਨਹੀਂ ਕਰਦੇ ਹਨ।
- Nest ਦਾ TypeScript ਵਰਤੋਂ ਅਤੇ Angular ਦੇ ਰੂਪ ਵਿੱਚ ਇੱਕ ਫਾਇਦਾ ਹੈ।
ਸਿੱਟਾ
NestJS ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇੱਕ ਵਿਸ਼ਾਲ ਲੈਗ ਅੱਪ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਵਿਕਾਸ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਬੱਸ ਇਹ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਇੱਕ ਨਵਾਂ ਐਪ ਬਣਾਓ ਅਤੇ ਤੁਸੀਂ ਜਾਣ ਲਈ ਚੰਗੇ ਹੋ। ਇਹ ਢਾਂਚਾ ਤੁਰੰਤ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਹੁਲਾਰਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਇੱਕ ਢੁਕਵੀਂ ਐਪ ਆਰਕੀਟੈਕਚਰ ਸਥਾਪਤ ਕਰਕੇ ਵਾਧੂ ਪੜਾਅ ਲੈਣ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਵੀ ਕਰਦਾ ਹੈ।
ਇਹ ਉਹਨਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਤਿਆਰ ਕਰਨ ਲਈ ਅਤਿ-ਆਧੁਨਿਕ ਢੰਗਾਂ ਅਤੇ ਤਕਨਾਲੋਜੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜੋ ਪ੍ਰਬੰਧਨਯੋਗ ਅਤੇ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਚੱਲਣ ਵਾਲੇ ਹਨ। ਇਸਦੀ ਵਰਤੋਂ GraphQL, WebSockets ਨਾਲ ਜੁੜਨ ਅਤੇ ਮਾਈਕ੍ਰੋ ਸਰਵਿਸਿਜ਼ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ