JavaScript ਕੋਡ ਨੂੰ ਵਿਵਸਥਿਤ ਅਤੇ ਕੰਪਰੈੱਸ ਕਰਨਾ
JavaScript ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਕੋਡ ਦੀ ਪੜ੍ਹਨਯੋਗਤਾ ਅਤੇ ਫਾਈਲ ਦੇ ਆਕਾਰ ਵਿਚਕਾਰ ਸੰਤੁਲਨ ਬਣਾਉਣਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਕਾਰਜ ਹੈ। ਜਦੋਂ ਕੋਡ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਡਿਵੈਲਪਰ ਆਪਣੀ ਸਹੂਲਤ ਲਈ ਵ੍ਹਾਈਟਸਪੇਸ, ਇੰਡੈਂਟੇਸ਼ਨ ਅਤੇ ਵਿਸਤ੍ਰਿਤ ਟਿੱਪਣੀਆਂ (comments) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਵੈੱਬ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਲਈ ਇਹਨਾਂ ਵਾਧੂ ਅੱਖਰਾਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।
ਕੋਡ ਬਿਊਟੀਫਿਕੇਸ਼ਨ (Beautification) ਦਾ ਉਦੇਸ਼ ਅਸਪਸ਼ਟ, ਮਿਨੀਫਾਈ ਕੀਤੇ ਜਾਂ ਬਿਨਾਂ ਫਾਰਮੈਟ ਵਾਲੇ JavaScript ਕੋਡ ਨੂੰ ਮੁੜ-ਇੰਡੈਂਟ ਕਰਕੇ ਪੜ੍ਹਨਯੋਗ ਬਣਾਉਣਾ ਹੈ। ਇਸ ਦੇ ਉਲਟ, ਮਿਨੀਫਿਕੇਸ਼ਨ (Minification) ਕੋਡ ਵਿੱਚੋਂ ਬੇਲੋੜੇ ਅੱਖਰਾਂ, ਵ੍ਹਾਈਟਸਪੇਸ ਅਤੇ ਟਿੱਪਣੀਆਂ ਨੂੰ ਹਟਾ ਕੇ ਫਾਈਲ ਦੇ ਆਕਾਰ ਨੂੰ ਘਟਾਉਂਦੀ ਹੈ ਤਾਂ ਜੋ ਵੈੱਬ ਪੇਜ ਤੇਜ਼ੀ ਨਾਲ ਲੋਡ ਹੋ ਸਕਣ। ਇਹ ਟੂਲ ਇਹਨਾਂ ਦੋਵਾਂ ਕਾਰਜਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ।
ਇਨਪੁਟ ਅਤੇ ਆਉਟਪੁਟ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਉਪਭੋਗਤਾ "JavaScript ਇਨਪੁਟ" ਖੇਤਰ ਵਿੱਚ ਆਪਣਾ ਕੋਡ ਪੇਸਟ ਜਾਂ ਟਾਈਪ ਕਰ ਸਕਦੇ ਹਨ। ਟੂਲ ਦੀਆਂ ਤਕਨੀਕੀ ਸੀਮਾਵਾਂ ਅਤੇ ਆਉਟਪੁਟ ਮੈਟ੍ਰਿਕਸ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹਨ:
- ਅਧਿਕਤਮ ਇਨਪੁਟ ਸੀਮਾ: ਟੂਲ ਵੱਧ ਤੋਂ ਵੱਧ 3,000,000 ਅੱਖਰਾਂ ਤੱਕ ਦੇ JavaScript ਕੋਡ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰ ਸਕਦਾ ਹੈ।
- ਆਉਟਪੁਟ ਮੈਟ੍ਰਿਕਸ: ਪ੍ਰੋਸੈਸਿੰਗ ਤੋਂ ਬਾਅਦ, ਟੂਲ ਰੀਡ-ਓਨਲੀ ਐਡੀਟਰ ਵਿੱਚ "script.js" ਫਾਈਲ ਦੇ ਰੂਪ ਵਿੱਚ ਕੋਡ ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ ਨਾਲ ਹੀ ਹੇਠਾਂ ਦਿੱਤੇ ਅੰਕੜੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
- ਲਾਈਨਾਂ: ਆਉਟਪੁਟ ਕੋਡ ਵਿੱਚ ਕੁੱਲ ਲਾਈਨਾਂ ਦੀ ਸੰਖਿਆ।
- ਅੱਖਰ: ਆਉਟਪੁਟ ਵਿੱਚ ਮੌਜੂਦ ਕੁੱਲ ਅੱਖਰਾਂ ਦੀ ਸੰਖਿਆ।
- ਆਕਾਰ: UTF-8 ਬਾਈਟਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਅੰਤਿਮ ਆਕਾਰ।
ਉਪਭੋਗਤਾ ਪ੍ਰੋਸੈਸ ਕੀਤੇ ਗਏ ਕੋਡ ਨੂੰ ਸਿੱਧਾ ਕਾਪੀ ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ "ਡਾਊਨਲੋਡ ਕਰੋ" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰ ਸਕਦੇ ਹਨ।
ਕਾਰਜਸ਼ੀਲ ਨਿਯਮ ਅਤੇ ਵਿਸ਼ੇਸ਼ ਸਥਿਤੀਆਂ
ਟੂਲ ਵੱਖ-ਵੱਖ ਫਾਰਮੈਟਿੰਗ ਵਿਕਲਪਾਂ ਅਤੇ ਤਰੁਟੀਆਂ (errors) ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਨਿਸ਼ਚਿਤ ਨਿਯਮਾਂ ਦੇ ਅਧਾਰ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ:
ਫਾਰਮੈਟਿੰਗ ਅਤੇ ਮਿਨੀਫਿਕੇਸ਼ਨ ਵਿਕਲਪ
- ਇੰਡੈਂਟ ਸਟਾਈਲ: ਕੋਡ ਨੂੰ ਸੁੰਦਰ ਬਣਾਉਣ ਸਮੇਂ, ਉਪਭੋਗਤਾ 2 spaces, 4 spaces, ਜਾਂ Tab ਵਿੱਚੋਂ ਆਪਣੀ ਪਸੰਦ ਦਾ ਇੰਡੈਂਟ ਚੁਣ ਸਕਦੇ ਹਨ।
- ਨਾਮਾਂ ਦਾ ਪ੍ਰਬੰਧਨ (Variable Naming): ਮਿਨੀਫਾਈ ਕਰਦੇ ਸਮੇਂ ਸਥਾਨਕ ਵੇਰੀਏਬਲਸ ਦੇ ਨਾਮਾਂ ਲਈ ਦੋ ਵਿਕਲਪ ਮਿਲਦੇ ਹਨ:
- Shorten: ਇਹ ਸਥਾਨਕ ਵੇਰੀਏਬਲਸ ਦੇ ਨਾਮ ਬਦਲ ਕੇ ਇੱਕ ਸਿੰਗਲ ਅੱਖਰ ਕਰ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਫਾਈਲ ਦਾ ਆਕਾਰ ਸਭ ਤੋਂ ਛੋਟਾ ਹੋ ਜਾਂਦਾ ਹੈ।
- Keep: ਇਹ ਵੇਰੀਏਬਲਸ ਦੇ ਅਸਲ ਨਾਮਾਂ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਰੱਖਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਕੋਡ ਨੂੰ ਡੀਬੱਗ ਕਰਨਾ ਆਸਾਨ ਹੁੰਦਾ ਹੈ।
- ਲਾਇਸੈਂਸ ਬੈਨਰ: ਮਿਨੀਫਿਕੇਸ਼ਨ ਦੌਰਾਨ ਕੋਡ ਵਿੱਚ ਮੌਜੂਦ
/*! … */ਫਾਰਮੈਟ ਵਾਲੇ ਲਾਇਸੈਂਸ ਬੈਨਰਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ।
ਤਰੁਟੀਆਂ ਅਤੇ ਸਿਸਟਮ ਸੁਨੇਹੇ
- ਜੇਕਰ ਇਨਪੁਟ ਖਾਲੀ ਹੈ, ਤਾਂ ਟੂਲ ਬਿਨਾਂ ਕਿਸੇ ਬਦਲਾਅ ਦੇ ਤਿਆਰ ਸਥਿਤੀ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ।
- ਜੇਕਰ ਇਨਪੁਟ ਕੋਡ 3,000,000 ਅੱਖਰਾਂ ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਸਕ੍ਰੀਨ 'ਤੇ ਇਹ ਸੁਨੇਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ: "ਇਹ ਫਾਈਲ ਪ੍ਰੋਸੈਸ ਕਰਨ ਲਈ ਬਹੁਤ ਵੱਡੀ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਛੋਟੀ ਫਾਈਲ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
- ਜੇਕਰ ਪ੍ਰੋਸੈਸਿੰਗ ਵਿੱਚ 20 ਸੈਕਿੰਡ ਤੋਂ ਵੱਧ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ, ਤਾਂ ਪ੍ਰਕਿਰਿਆ ਰੋਕ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਇਹ ਸੁਨੇਹਾ ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ: "ਇਸ ਵਿੱਚ ਬਹੁਤ ਸਮਾਂ ਲੱਗਿਆ ਅਤੇ ਇਸਨੂੰ ਰੋਕ ਦਿੱਤਾ ਗਿਆ — ਕਿਰਪਾ ਕਰਕੇ ਛੋਟੀ ਫਾਈਲ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
- ਜੇਕਰ ਕੋਡ ਵਿੱਚ ਕੋਈ ਸਿੰਟੈਕਸ ਗਲਤੀ (syntax error) ਹੈ, ਤਾਂ ਟੂਲ ਪ੍ਰੋਸੈਸ ਨਹੀਂ ਕਰ ਸਕਦਾ ਅਤੇ ਇਹ ਸੁਨੇਹਾ ਦਿਖਾਉਂਦਾ ਹੈ: "ਇਸ JavaScript 'ਤੇ ਕਾਰਵਾਈ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।"
- ਜੇਕਰ ਮਿਨੀਫਿਕੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਕੋਈ ਚੱਲਣਯੋਗ ਕੋਡ ਨਹੀਂ ਬਚਦਾ, ਤਾਂ ਇਹ ਸੁਨੇਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ: "ਮਿਨੀਫਾਈ ਕਰਨ ਤੋਂ ਬਾਅਦ ਕੁਝ ਨਹੀਂ ਬਚਿਆ — ਇਨਪੁਟ ਵਿੱਚ ਕੋਈ ਚੱਲਣਯੋਗ ਕੋਡ ਨਹੀਂ ਸੀ।"
- ਸਫਲਤਾਪੂਰਵਕ ਮਿਨੀਫਾਈ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਬਚਤ ਦੀ ਪ੍ਰਤੀਸ਼ਤਤਾ ਦਰਸਾਉਣ ਲਈ "ਮਿਨੀਫਾਈ ਕੀਤਾ ਗਿਆ —
{pct}% ਛੋਟਾ।" ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦਾ ਹੈ। - "ਸਾਫ਼ ਕਰੋ" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਇਨਪੁਟ, ਆਉਟਪੁਟ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਡਰਾਫਟ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮਿਟ ਜਾਂਦਾ ਹੈ।
ਨਿੱਜਤਾ ਅਤੇ ਡਾਟਾ ਸੁਰੱਖਿਆ
ਇਸ ਟੂਲ ਵਿੱਚ ਤੁਹਾਡੀ ਗੋਪਨੀਯਤਾ ਦਾ ਪੂਰਾ ਧਿਆਨ ਰੱਖਿਆ ਗਿਆ ਹੈ। ਤੁਹਾਡਾ JavaScript ਕੋਡ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੀ ਫਾਰਮੈਟ ਅਤੇ ਮਿਨੀਫਾਈ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। BroBroGo 'ਤੇ ਕੁਝ ਵੀ ਅਪਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਜਿਸ ਨਾਲ ਤੁਹਾਡਾ ਕੋਡ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦਾ ਹੈ।
ਉਪਭੋਗਤਾ ਵਰਗ ਅਤੇ ਲੋੜਾਂ
ਇਹ ਟੂਲ ਵੱਖ-ਵੱਖ ਤਕਨੀਕੀ ਲੋੜਾਂ ਵਾਲੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ:
- ਉਹ ਡਿਵੈਲਪਰ ਜੋ ਪਹਿਲਾਂ ਤੋਂ ਮਿਨੀਫਾਈ ਕੀਤੇ ਜਾਂ ਅਸਪਸ਼ਟ (obfuscated) ਕੋਡ ਨੂੰ ਡੀਬੱਗ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਨ।
- ਉਹ ਤਕਨੀਕੀ ਉਪਭੋਗਤਾ ਜਿਨ੍ਹਾਂ ਨੂੰ ਕਿਸੇ ਤੀਜੀ-ਧਿਰ (third-party) ਦੇ ਕੋਡ ਸਨਿੱਪਟਾਂ ਦੀ ਜਾਂਚ ਕਰਨੀ ਪੈਂਦੀ ਹੈ।
- ਉਹ ਪਬਲਿਸ਼ਰ ਜੋ ਪ੍ਰੋਡਕਸ਼ਨ ਵਾਤਾਵਰਣ ਵਿੱਚ ਆਪਣੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲੋਡ ਕਰਨ ਲਈ ਕੰਪਰੈੱਸ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਨ।
- ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਜੋ ਗੁੰਝਲਦਾਰ JavaScript ਫਾਈਲ ਦੇ ਲਾਜਿਕ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਸਮਝਣਾ ਚਾਹੁੰਦਾ ਹੈ।
ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ (FAQ)
Beautify ਅਤੇ Minify ਵਿੱਚ ਕੀ ਅੰਤਰ ਹੈ?
Beautify ਕੋਡ ਨੂੰ ਮੁੜ-ਇੰਡੈਂਟ ਅਤੇ ਸਪੇਸ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਸਨੂੰ ਪੜ੍ਹਨਾ ਅਤੇ ਸਮਝਣਾ ਆਸਾਨ ਹੋਵੇ — ਕਿਸੇ ਮਿਨੀਫਾਈ ਜਾਂ ਅਸਪਸ਼ਟ (obfuscated) ਫਾਈਲ ਨੂੰ ਸਮਝਣ ਦਾ ਇਹ ਸਭ ਤੋਂ ਤੇਜ਼ ਤਰੀਕਾ ਹੈ। Minify ਇਸ ਤੋਂ ਉਲਟ ਕਰਦਾ ਹੈ: ਇਹ ਵ੍ਹਾਈਟਸਪੇਸ, ਟਿੱਪਣੀਆਂ ਅਤੇ ਬੇਕਾਰ ਕੋਡ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਫਾਈਲ ਤੇਜ਼ੀ ਨਾਲ ਡਾਊਨਲੋਡ ਹੋ ਸਕੇ। ਪੜ੍ਹਨ ਲਈ beautify ਕਰੋ, ਪਬਲਿਸ਼ ਕਰਨ ਲਈ minify ਕਰੋ।
ਕੀ ਇਹ ਮਿਨੀਫਾਈ ਕੀਤੇ ਕੋਡ ਨੂੰ ਦੁਬਾਰਾ ਅਸਲ ਕੋਡ ਵਿੱਚ ਬਦਲ ਸਕਦਾ ਹੈ?
ਇਹ ਇੰਡੈਂਟੇਸ਼ਨ ਅਤੇ ਲਾਈਨ ਬ੍ਰੇਕਸ ਨੂੰ ਬਹਾਲ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਕੋਡ ਦਾ ਲਾਜਿਕ ਦੁਬਾਰਾ ਪੜ੍ਹਨਯੋਗ ਬਣ ਸਕੇ, ਪਰ ਇਹ ਅਸਲ ਵੇਰੀਏਬਲ ਨਾਮਾਂ ਜਾਂ ਟਿੱਪਣੀਆਂ ਨੂੰ ਵਾਪਸ ਨਹੀਂ ਲਿਆ ਸਕਦਾ — ਮਿਨੀਫਾਈ ਕਰਨ ਨਾਲ ਉਹ ਹਮੇਸ਼ਾ ਲਈ ਖਤਮ ਹੋ ਜਾਂਦੇ ਹਨ, ਇਸ ਲਈ ਕੋਈ ਵੀ ਟੂਲ ਉਹਨਾਂ ਨੂੰ ਰਿਕਵਰ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਤੁਹਾਨੂੰ ਉਹੀ ਕੋਡ ਮਿਲੇਗਾ, ਜੋ ਸਾਫ਼-ਸਾਫ਼ ਵਿਵਸਥਿਤ ਹੋਵੇਗਾ।
Shorten ਅਤੇ Keep ਨਾਮਕ ਵਿਕਲਪ ਕੀ ਕਰਦੇ ਹਨ?
ਦੋਵੇਂ ਵ੍ਹਾਈਟਸਪੇਸ, ਟਿੱਪਣੀਆਂ ਅਤੇ ਨਾ-ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਕੋਡ ਨੂੰ ਹਟਾਉਂਦੇ ਹਨ, ਅਤੇ ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਤੁਹਾਡੇ ਸਕ੍ਰਿਪਟ ਦੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ। Shorten (ਛੋਟਾ ਕਰੋ) ਸਥਾਨਕ ਵੇਰੀਏਬਲਸ (local variables) ਦਾ ਨਾਮ ਬਦਲ ਕੇ ਇੱਕ ਸਿੰਗਲ ਅੱਖਰ ਕਰ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਫਾਈਲ ਦਾ ਆਕਾਰ ਸਭ ਤੋਂ ਛੋਟਾ ਹੋ ਸਕੇ। Keep (ਰੱਖੋ) ਤੁਹਾਡੇ ਨਾਮਾਂ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਨਤੀਜਾ ਥੋੜ੍ਹਾ ਵੱਡਾ ਹੁੰਦਾ ਹੈ ਪਰ ਫਿਰ ਵੀ ਪੜ੍ਹਨਯੋਗ ਅਤੇ ਡੀਬੱਗ ਕਰਨ ਵਿੱਚ ਆਸਾਨ ਹੁੰਦਾ ਹੈ।