Loading…

সম্পর্কে অনলাইন জাভাস্ক্রিপ্ট মিনিফায়ার

সেকেন্ডের মধ্যে ছোট জাভাস্ক্রিপ্ট বান্ডল পাঠান ⚡। এই অনলাইন জাভাস্ক্রিপ্ট মিনিফায়ার আপনার জেএসকে AST-তে পার্স করে, মন্তব্য এবং অপ্রয়োজনীয় হোইটস্পেস সরিয়ে দেয় এবং নিরাপদ কম্প্রেশন পাস প্রয়োগ করে। স্ট্যান্ডালোন স্ক্রিপ্ট, দ্রুত ফিক্স, ট্যাগ ম্যানেজার স্নিপেট এবং প্রি-ডেপ্লয় চেকের জন্য আদর্শ। সবকিছু ১০০% ক্লায়েন্ট-সাইডে চলে – আপনার কোড ব্রাউজার ছাড়ে না।

এই জাভাস্ক্রিপ্ট মিনিফায়ারের মূল বৈশিষ্ট্য

  • তাত্ক্ষণিক, ব্রাউজার-ভিত্তিক জেএস কম্প্রেশন (সার্ভারে ফাইল আপলোড নেই)
  • মন্তব্য সরায় এবং অপ্রয়োজনীয় সাদা স্থান/নতুন লাইন সংকুচিত করে
  • AST-ভিত্তিক কম্প্রেশন Terser-এর অনুরূপ (ধ্রুবক ভাঁজ, নিরাপদ অবস্থায় ডেড-কোড অপসারণ)
  • API বা বিল্ড ইন্টিগ্রেশনের মাধ্যমে ঐচ্ছিক আইডেন্টিফায়ার ম্যাংলিং এবং উন্নত ফ্ল্যাগ
  • আধুনিক জাভাস্ক্রিপ্ট (ES2015+), ক্লাসিক স্ক্রিপ্ট এবং সাধারণ মডিউল আউটপুটের সাথে কাজ করে
  • মিনিফাইড জাভাস্ক্রিপ্ট এক ক্লিকে কপি বা ডাউনলোড করুন
  • জাভাস্ক্রিপ্ট ফরম্যাটারের মতো একই কোর কম্পোনেন্ট ব্যবহার করে: একটি ক্রিয়ায় ফরম্যাটেড এবং মিনিফাইড আউটপুটের মধ্যে স্যুইচ করুন
  • সর্বোচ্চ গোপনীয়তার জন্য 100% ক্লায়েন্ট-সাইড প্রসেসিং

🛠️ কিভাবে জাভাস্ক্রিপ্ট মিনিফাই করবেন for javascript-minifier

1

আপনার জেএস পেস্ট বা আপলোড করুন

একটি .js/.mjs ফাইল এডিটরে ড্রপ করুন বা সরাসরি আপনার জাভাস্ক্রিপ্ট পেস্ট করুন। টুলটি একক স্ক্রিপ্ট, ইউটিলিটি ফাইল এবং ছোট বান্ডিলের জন্য আদর্শ।

2

মিনিফিকেশন মোড নির্বাচন করুন

জাভাস্ক্রিপ্ট ফরম্যাটারের মতো একই কম্পোনেন্ট ব্যবহার করুন: ফরম্যাটেড কোডের পরিবর্তে কম্প্রেসড আউটপুট পেতে মিনিফাই অ্যাকশনে স্যুইচ করুন।

3

মিনিফায়ার চালান

আপনার কোড AST-তে পার্স করা হয়, মন্তব্য এবং অতিরিক্ত সাদা স্থান সরানো হয়, এবং বান্ডিলের আকার কমানোর জন্য নিরাপদ কম্প্রেশন পাস প্রয়োগ করা হয়।

4

ফলাফল কপি বা ডাউনলোড করুন

আউটপুট এডিটর থেকে মিনিফাইড জাভাস্ক্রিপ্ট কপি করুন বা এটি .min.js ফাইল হিসেবে ডাউনলোড করুন এবং আপনার HTML, CDN বা বিল্ড আউটপুটে অন্তর্ভুক্ত করুন।

প্রযুক্তিগত বিবরণ

মূল রূপান্তর (নিরাপদ ডিফল্ট)

রানটাইম আচরণ সংরক্ষণ করার সময় কোডের আকার উল্লেখযোগ্যভাবে হ্রাস করার জন্য রক্ষণশীল ডিফল্ট ডিজাইন করা হয়েছে।

অপারেশনপ্রয়োগকৃতনোট
লাইন এবং ব্লক মন্তব্য সরানলাইসেন্স মন্তব্য (/*! ... */) কনফিগারেশন/এপিআই এর মাধ্যমে সংরক্ষণ করা যেতে পারে
হোয়াইটস্পেস এবং নিউলাইন সংকুচিত করুনসিমান্টিকভাবে নিরাপদ যেখানে হোয়াইটস্পেস স্বাভাবিক করা হয়েছে; স্ট্রিং এবং রেজেক্স বিষয়বস্তু সংরক্ষিত
ধ্রুবক ভাঁজ এবং সরল ইনলাইনিংশুধুমাত্র যখন ফলাফল প্রমাণযোগ্যভাবে সমতুল্য হয়
ডেড-কোড বর্জনধ্রুবক প্রচারের পরে অপ্রাপ্য শাখাগুলি সরিয়ে দেয়
আইডেন্টিফায়ার ম্যাঙ্গলিং✅ ঐচ্ছিকভেরিয়েবল এবং ফাংশনের নাম সংক্ষিপ্ত করে; উন্নত বিকল্প/এপিআই এর মাধ্যমে কনফিগারযোগ্য
ডিবাগিং হেল্পার বাদ দিন (কনসোল/ডিবাগার)✅ ঐচ্ছিকসক্ষম করা যেতে পারে যখন আপনি প্রোডাকশনে কনসোল আউটপুটের উপর নির্ভর করেন না

নিরাপত্তা ও সামঞ্জস্য নিয়ন্ত্রণ

উন্নত বিকল্পগুলি (প্রধানত বিল্ড টুল/এপিআই এর মাধ্যমে প্রকাশিত) মিনিফিকেশন কতটা আক্রমণাত্মক হওয়া উচিত তা টিউন করতে সহায়তা করে।

বিকল্পডিফল্টব্যাখ্যা
ecma টার্গেট2020আউটপুট সিনট্যাক্স এবং কিছু কম্প্রেস নিয়ন্ত্রণ করে
মডিউল বনাম স্ক্রিপ্টস্ক্রিপ্টESM বান্ডিলের জন্য মডিউল/টপলেভেল অপ্টিমাইজেশন সক্ষম করুন
keep_fnames / keep_classnamesfalseভাল স্ট্যাক ট্রেস বা DI ফ্রেমওয়ার্কের জন্য নাম সংরক্ষণ করুন
safari10 / লিগেসি কুইর্কসoffশুধুমাত্র নির্দিষ্ট লিগেসি ইঞ্জিন টার্গেট করার সময় সক্ষম করুন
toplevelfalseউন্নত ট্রি-শেকিংয়ের জন্য অব্যবহৃত টপ-লেভেল বাইন্ডিং ড্রপ করার অনুমতি দেয়

সাধারণ আকার হ্রাস

মূল ফরম্যাটিং, মন্তব্যের ঘনত্ব এবং কতটা ডেড কোড বিদ্যমান তার উপর সঞ্চয় পরিবর্তিত হয়।

ইনপুট স্টাইলশুধুমাত্র কম্প্রেসকম্প্রেস + ম্যাঙ্গল (আক্রমনাত্মক)
প্রচুর মন্তব্য এবং ফাঁকা স্থান সহ৩৫%–৫৫%৫০%–৭০%
মধ্যমভাবে ফরম্যাট করা অ্যাপ্লিকেশন কোড২০%–৩৫%৩৫%–৫৫%
ইতিমধ্যে কমপ্যাক্ট কোড৫%–১৫%১০%–২৫%

প্রোডাকশন বিল্ডের জন্য CLI বিকল্পসমূহ

সম্পূর্ণ অ্যাপ্লিকেশন এবং মাল্টি-ফাইল প্রকল্পের জন্য, মিনিফিকেশন আপনার CI/CD পাইপলাইনে সংহত করুন।

Node.js

Terser (সাধারণ ক্ষেত্রে)

npx terser src/app.js -o dist/app.min.js -c ecma=2020,passes=2 -m

দুইটি কম্প্রেস পাস প্লাস শক্তিশালী আকার হ্রাসের জন্য আইডেন্টিফায়ার ম্যাঙ্গলিং।

সংরক্ষিত নাম এবং drop_console সহ Terser

npx terser src/app.js -o dist/app.min.js -c passes=2,drop_console=true -m reserved=["React","ReactDOM"] --keep-fnames

গুরুত্বপূর্ণ গ্লোবালগুলি সুরক্ষিত করুন, কনসোল কলগুলি সরান এবং ডিবাগিংয়ের জন্য ফাংশন নামগুলি রাখুন।

Linux/macOS/Windows

esbuild (অত্যন্ত দ্রুত)

npx esbuild src/app.js --minify --target=es2018 --outfile=dist/app.min.js

একক, অত্যন্ত দ্রুত ধাপে বান্ডল এবং মিনিফাই করুন।

SWC (রাস্ট-ভিত্তিক)

npx swc src -d dist --minify

একটি উচ্চ-পারফরম্যান্স রাস্ট ইঞ্জিন দিয়ে ট্রান্সপাইল এবং মিনিফাই করুন।

সাধারণ ব্যবহারের ক্ষেত্রসমূহ

ওয়েব পারফরম্যান্স ও কোর ওয়েব ভাইটালস

  • দ্রুত LCP এবং TTI এর জন্য জাভাস্ক্রিপ্ট ট্রান্সফার আকার হ্রাস করুন
  • ডিপ্লয়মেন্টের আগে ডিবাগ মন্তব্য এবং লগিং ট্রিম করুন
  • gzip/brotli কম্প্রেশনের আগে ক্লায়েন্ট-সাইড বান্ডলগুলি সঙ্কুচিত করুন
/* বিল্ড-শুধুমাত্র মন্তব্য যা মিনিফাইড আউটপুটে সরানো হবে */

CI/CD এবং রিলিজ অটোমেশন

  • আপনার বিল্ড পাইপলাইনের শেষ ধাপে JS মিনিফাই করুন
  • CDN-এর জন্য ছোট, ক্যাশ-বান্ধব বান্ডল প্রস্তুত করুন
  • HTML/CSS মিনিফায়ারগুলির পাশাপাশি প্রোডাকশন-রেডি অ্যাসেট তৈরি করুন

উইজেট, এম্বেড ও পরীক্ষা-নিরীক্ষা

  • ট্যাগ ম্যানেজারের মাধ্যমে কমপ্যাক্ট স্নিপেট প্রেরণ করুন
  • তৃতীয়-পক্ষের পৃষ্ঠাগুলিতে মিনিফাইড উইজেট এম্বেড করুন
  • ক্রিটিকাল স্ক্রিপ্টে বিভিন্ন কম্প্রেশন কৌশল নিয়ে পরীক্ষা করুন

❓ Frequently Asked Questions

জাভাস্ক্রিপ্ট মিনিফাই করা কি আমার কোডের কার্যক্রম পরিবর্তন করবে?

সেফ ডিফল্টস দিয়ে, রানটাইম আচরণ অভিন্ন থাকা উচিত। অ্যাগ্রেসিভ অপশন যেমন টপলেভেল অপ্টিমাইজেশন, আইডেন্টিফায়ার ম্যাংলিং, বা কনসোল কল ড্রপ করা আপনার কোড যদি নাম, সাইড-ইফেক্ট বা লগিং-এর উপর নির্ভর করে তবে আচরণ প্রভাবিত করতে পারে। সর্বদা একটি আনমিনিফাইড সংস্করণ রাখুন এবং মিনিফাইড বিল্ডে টেস্ট চালান।

এই টুল কি সরাসরি টাইপস্ক্রিপ্ট বা JSX হ্যান্ডল করে?

মিনিফায়ার প্লেইন জাভাস্ক্রিপ্টকে টার্গেট করে। টাইপস্ক্রিপ্ট বা JSX-এর জন্য, প্রথমে জাভাস্ক্রিপ্টে ট্রান্সপাইল করুন (SWC, esbuild বা Babel এর মাধ্যমে) এবং তারপর জেনারেটেড JS কোড মিনিফাই করুন।

আমার জাভাস্ক্রিপ্ট কি সার্ভারে আপলোড হয়?

না। সমস্ত প্রসেসিং সম্পূর্ণরূপে আপনার ব্রাউজারে ক্লায়েন্ট-সাইড কোড ব্যবহার করে ঘটে। সোর্স কোড কোনো রিমোট সার্ভারে পাঠানো হয় না, যা প্রাইভেট/মালিকানাধীন স্ক্রিপ্টের জন্য আদর্শ।

আমার জাভাস্ক্রিপ্ট ফাইল কত বড় হতে পারে?

স্মুথ ব্রাউজার UX-এর জন্য, আমরা এই অনলাইন টুলে প্রায় 1 MB পর্যন্ত ফাইল সুপারিশ করি। বড় বান্ডিল এবং বারবার মিনিফিকেশন রান আপনার বিল্ড পাইপলাইনে ইন্টিগ্রেটেড CLI টুল দ্বারা ভালভাবে হ্যান্ডল করা হয়।

ফরম্যাটিং এবং মিনিফাইয়িং-এর মধ্যে পার্থক্য কী?

ফরম্যাটিং কোডকে আরও পাঠযোগ্য করে (সঙ্গত ইন্ডেন্টেশন এবং স্পেসিং)। মিনিফাইয়িং কোডকে ছোট করে (হোয়াইটস্পেস, কমেন্ট এবং রিডানডেন্ট কোড সরানো)। এই টুল উভয়ের জন্য একই কোর কম্পোনেন্ট শেয়ার করে: পাঠযোগ্যতার জন্য ফরম্যাট অ্যাকশন ব্যবহার করুন এবং প্রোডাকশন বান্ডিলের জন্য মিনিফাই অ্যাকশন ব্যবহার করুন।

Pro Tips

Best Practice

আপনার বান্ডিলারে NODE_ENV=production (বা সমতুল্য) সংজ্ঞায়িত করুন অনেক লাইব্রেরিতে অতিরিক্ত ডেড-কোড প্রুনিং আনলক করতে।

Best Practice

ভার্সন কন্ট্রোলে আনমিনিফাইড সোর্স (এবং, বড় অ্যাপের জন্য, সোর্স ম্যাপ) রাখুন, এবং প্রোডাকশনে শুধুমাত্র মিনিফাইড অ্যাসেট সার্ভ করুন।

Best Practice

উইন্ডো বা globalThis থেকে ঝুলন্ত পাবলিক API রক্ষা করতে ম্যাংলিং করার সময় সংরক্ষিত নাম ব্যবহার করুন।

Best Practice

গুণিত আকার সাশ্রয় পেতে CDN বা সার্ভার লেভেলে gzip বা brotli এর সাথে মিনিফিকেশন একত্রিত করুন।

Additional Resources

Other Tools