টার্মিনাল মাধ্যমে কার্যকর করা যেতে পারে যে সরঞ্জাম Minify


35

আমি একটি টুল বা অল্প করা একটি উপায় (অনুরূপ খোঁজ করছি আমার কোড কম্প্রেস এবং এই প্রশ্ন আমার মধ্যে স্ট্যাক) সমস্ত কোডের .xml, .css, .htmlএবং .jsফাইল উবুন্টু এর টার্মিনাল মাধ্যমে। শেষ পর্যন্ত আমি স্ক্রিপ্টটি প্রক্রিয়াটিকে বাশ করব, তবে এই মুহুর্তে আমি কেবল পরীক্ষার জন্য কিছু খুঁজে পেতে চাই। টার্মিনালের মাধ্যমে এই সমস্ত ফাইল ফর্ম্যাট সঙ্কুচিত করতে আমি কি কোনও সরঞ্জাম ব্যবহার করতে পারি?


2
আপনি কি কিছু চেষ্টা করেছেন tar -czvf compressed.tar.gz *.xml *.css *.html *.php?
রোডমর

1
আমি কোডটি নিজেই সংক্ষেপে দেখতে চাই। সিএসএস মিনিফাইয়ের মতো কিছু
15 জুলাইয়ের

1
তারপরে আমি মনে করি আপনি সংকোচনের জন্য জিজ্ঞাসা করছেন না । নিয়মিত ফাইলগুলিতে সংক্ষেপণের মাধ্যমে (মিউজিক / ভিডিওগুলির মতো নন-মিডিয়া) আমরা বেশিরভাগই কেবল ক্ষতবিহীন সংক্ষেপণ বিবেচনা করি তবে আপনি শ্বেত স্পেসটি হ্রাস করার একটি উপায় খুঁজছেন (যাতে আপনি এই ডেটাটি হারাবেন)। এবং মিনিফাইংটি ক্ষতিকারক হওয়ায় আপনি সঙ্কোচন করতে পারবেন না (কারণ এটি বিপরীত নয়)। আমার কাছে এটি "আপনি কী জিজ্ঞাসা করছেন তা অস্পষ্ট" করে তোলে।
gertvdijk

উত্তর:


43

এটি সেরা বিকল্প নয় তবে এটি সম্ভবত সবচেয়ে সহজ। YUI কমপ্রেসরকে জাভা স্ক্রিপ্ট এবং সিএসএসের জন্য সেরা সংক্ষেপক হিসাবে বিবেচনা করা হয়েছিল, অন্য মিনিফায়ারগুলির চেয়ে 20-40% উন্নতি দেওয়া হয়েছিল।

এর পর থেকে এটি ইউগ্লিফাই.জেএসের মতো নতুন প্রকল্পগুলি ছাড়িয়ে গেছে (যা গ্রান্ট সম্ভবত পরামর্শ দেবে) তবে উবুন্টুতে উঠে আসা এবং চালানো এটি এখনও মোটামুটি সহজ বিষয়।

sudo apt-get install yui-compressor

এটাই. এখন আপনি চালাতে পারেন yui-compressor myfile.jsএবং এটি তার যাদুটি করবে ঠিক তেমনি নয়, বা নোড / গ্রান্ট / ইউগ্লিফাই + ওয়াইউআই স্ট্যাকের মতো যথাযথভাবে ইনস্টল করুন।


15
জেএস বা সিএসএস ব্যবহারকারী প্রত্যেকেই নোড.জেএস ব্যবহার করছে বা নোড.জেএস প্রকল্প করছে না। আপনি গ্রান্ট ব্যবহার করতে চাইলে এটি শিখতে ও কনফিগার করার জন্য এটি আরও একটি কাঠামো। হ্যাঁ গ্রান্ট দুর্দান্ত। তবে এখনকার দিনগুলি, এমনকি কোডিং শুরু করার আগে আমাদের কাছে ইতিমধ্যে যথেষ্ট শিখতে হবে। সুতরাং নোড / গ্রান্ট সর্বদা সুবিধাজনক নয়। :) আমি নিজেই ইউই-সংক্ষেপক আপনার পরামর্শ চেষ্টা করতে যাচ্ছি।
বিল রোজমাস

2
সাজানোর @BillR আমি অনুভূতির সঙ্গে একমত কিন্তু যখন আমি কোন Node.js প্রকল্প নেই, আমি এখনও lessc এবং uglify.js ভালো জিনিস ব্যবহার করি কারণ তারা কাজের জন্য শ্রেষ্ঠ হাতিয়ার । আমি গ্রান্ট ব্যবহার করি না কারণ আমি এটিকে আমার নিজস্ব টুলিংয়ের সাথে প্রতিস্থাপন করেছি তবে প্রকৃত কাজের জন্য, আমি কেবল নোড এড়ানোর জন্য নিজেকে কখনও টুকটাক করি না। আপনি যদি শিল্পে থাকতে চান তবে আপনাকে সেরা অনুশীলনগুলি চালিয়ে যেতে হবে।
অলি

আপনি এই ধারণাটি তৈরি করছেন যে নোড ব্যবহার করা সর্বোত্তম অনুশীলন। আপনার পৃথিবীতে যা সবার দুনিয়া নয়।
বিল রোসমাস

2
আপনি আমার উপর পাঁচ বছর পেয়েছেন তবে আমি জানি না আপনার বক্তব্য কী ... আপনি এখনও কিছুটা "ডিএইচটিএমএল" এবং পার্ল সিজিআই স্ক্রিপ্ট সহ স্থিত HTML4 ব্যবহার করছেন? এখনও এএসপি ব্যবহার করছেন? বা উন্নত প্রযুক্তিগুলি তাদের উপলব্ধ করে দেওয়ার কারণে আপনি কি জিনিসগুলিকে স্যুইচ করেছেন? আমরা এতে দুটি পৃথক পয়েন্ট পেয়েছি; এটা একটু নির্বোধ হচ্ছে। আপনি পুনরায় প্রশিক্ষণ পছন্দ করেন না সে বিষয়ে আমার কোনও খেয়াল নেই তবে আপনি যত্ন নিচ্ছেন যে আপনি more-cssনিজের সিএসএসকে মিনিফাই করতে এনপিএম প্যাকেজটি ইউই-কমপ্রেসার ব্যবহারের চেয়ে আরও বেশি অনুপ্রবেশযোগ্য। এটা না। এটি ঠিক অন্য একটি আদেশ যা একই জিনিস আরও ভাল করে।
অলি

1
নোট করুন যে এই ইনস্টলটির সাহায্যে আপনি ওপেনজেডিডি ইনস্টল করতে চলেছেন, এমন একটি জিনিস যা কেউ সিস্টেমে চায় না।
সত্যই চমৎকার

12

আপনি কমান্ড লাইন থেকে নোড এবং uglify-js এর সাহায্যে সহজেই js ছোট করতে পারেন :

  • এর সাথে uglify-js ইনস্টল করুন npm install uglify-js -g

  • চালাও এটা uglifyjs app-test.js > app-test.min.js


সিএসএসের জন্য আমি ক্লিন-সিএসএস (সম্ভবত এনএমপি-র সবচেয়ে স্থিতিশীল সিএসএস মিনিফায়ার)
উদাহরণ ব্যবহারের পরামর্শ দেব :

cleancss -o public-min.css public.css

যতদূর এইচটিএমএল সম্পর্কিত, সাধারণত আপনি এটি স্থাপনে যে পরিমাণ সময় ব্যয় করেন তা সংশোধন করা উপযুক্ত নয়, তবে আমি এইচটিএমএল-মিনিফায়ার চেষ্টা করেছি এবং এটি একটি দুর্দান্ত সরঞ্জাম।

আপনি যা-ই করেন না কেন নিশ্চিত হন যে আপনি কী পরিবেশন করছেন তা জিপিপ।


1
uglify এর সাথে সরাসরি ইনস্টল করা যেতে পারেsudo apt-get install node-uglify
গ্যারি

নোট করুন যে uglify-js কেবল জাভাস্ক্রিপ্টের জন্য, এবং CSS বা অন্যান্য ফাইলের জন্য নয়।
হোসে গমেজ

2
@ আপনি যদি আপনার সাথে ইনস্টল করতে চান তবে আনন্দের uglifyসাথে ইনস্টল aptকরতে হবে node-legacy, তাই চালানsudo apt install node-uglify node-legacy
এমএক্সডিএসপি

মনে রাখবেন যে cleancssসিএলআই সরঞ্জামটি এখন clean-css-cliপ্যাকেজে রয়েছে।
জেবিজি

7

ব্যবহারের অল্প করা - অন্যান্য পরামর্শের অসদৃশ, এই সরঞ্জাম minifies আরো অনেক ধরনের ফাইল:

CSS     text/css
HTM     text/html
HTML    text/html
JS      text/javascript
JSON    application/json
SVG     image/svg+xml
XML     text/xml

এটি জাভাস্ক্রিপ্ট সহ খুব খারাপ কাজ করে।
ফেডেরিকো

2

পিএইচপি ফাইলগুলি মিনিফাই করার কোনও কারণ নেই (আপনার কাছে খুব সীমিত ডিস্কের স্থান রয়েছে এবং এটির প্রতিটি বিট ব্যবহার করতে চান)।

আপনি যদি কোনও লক্ষ্য যুক্ত করতে পারেন (আপনি কী অর্জন করতে চান এবং কেন?), কেউ আপনাকে আরও ভাল উপায় দেখাতে পারে।

জেএস এবং সিএসএস ফাইলগুলি রানটাইমের সময় সংক্ষিপ্ত করা হয় এবং বেশিরভাগ ওয়েব প্রকল্পে ক্যাশে করা হয়। এখানে মিনিফাইটি ( https://github.com/mrclay/minify ) আছে, একটি পিএইচপি "লাইব্রেরি" যা ঠিক এটি করতে সক্ষম। (টার্মিনাল থেকে পিএইচপি দিয়েও কার্যকর করা যেতে পারে)

তবে মনে রাখবেন যে একটি বড় জাভাস্ক্রিপ্ট ফাইল 5 টি ছোট ফাইলের চেয়ে দ্রুত লোডের প্রয়োজন হয় না। এই বিবৃতিটির জন্য আপনার যদি কোনও কারণ এবং সমাধানের প্রয়োজন হয় তবে http://headjs.com/ এ একবার দেখুন

উত্স আপনার সাথে থাকতে পারে ...


1

আমি ব্যবহার করার সুপারিশ করব গ্রান্ট.জেএস দেব । এটি একটি অটোমেশন সরঞ্জাম যা মিনিফায়ারগুলি প্লাগইন হিসাবে উপলব্ধ এবং আপনার টার্মিনালে নোড.জেএস এর মাধ্যমে চালানো যেতে পারে কোডটি সার্ভার সাইডে কার্যকর করে এবং কেবলমাত্র এটির এইচটিএমএল আউটপুট ক্লায়েন্টকে প্রেরণ করা হওয়ায় পিএইচপি হ্রাস করতে হবে না।

আপনি এখানে উপলব্ধ প্লাগইন পেতে পারেন


2
সচেতন থাকুন যে গ্রান্ট নির্বাচন করা একটি শেখার বক্রাকে বোঝায়।
রিক -777

1

ক্লোজার কম্পাইলারের সাথে আমার ভাল ফলাফল হয়েছে ।

ক্লোজার সংকলক জাভাস্ক্রিপ্ট ডাউনলোড এবং দ্রুত চালানোর জন্য একটি সরঞ্জাম। উত্স ভাষা থেকে মেশিন কোডে সংকলনের পরিবর্তে এটি জাভাস্ক্রিপ্ট থেকে আরও ভাল জাভাস্ক্রিপ্টে সংকলন করে। এটি আপনার জাভাস্ক্রিপ্টটিকে বিশ্লেষণ করে, এটিকে বিশ্লেষণ করে, ডেড কোড এবং পুনরায় লেখাগুলি সরিয়ে দেয় এবং যা বাকী থাকে তা হ্রাস করে। এটি সিনট্যাক্স, পরিবর্তনশীল তথ্যসূত্র এবং প্রকারগুলিও পরীক্ষা করে এবং সাধারণ জাভাস্ক্রিপ্টের ক্ষতি সম্পর্কে সতর্ক করে।

এটি গুগল দ্বারা বিকাশিত এবং জাভাতে লেখা। এটি ডেবিয়ান-ভিত্তিক সিস্টেমগুলির জন্য প্যাকেজড closure-compilerএবং উবুন্টু সিস্টেমে সহজেই ইনস্টল করা আছে। এটি কোনও জিইউআই ব্যবহার করে না, এটির জন্য আরও বেশি লাইটওয়েট default-jre-headlessপ্যাকেজ দরকার।

এটি YUI সংক্ষেপকটি ধীর কিন্তু ফলাফল ফাইলাইজ (সামান্য) ছোট। এটি অন্যান্য প্রোগ্রামিং ভাষার সংকলকগুলির মতো দরকারী সতর্কতা বার্তাও মুদ্রণ করে।

ডকুমেন্টেশন: শুরু করা

ব্যবহার:

closure-compiler --js input.js --js_output_file output.js

বন্ধ করার কাজটি খুব ভাল যদি আপনি এটির সাথে আপনার প্রকল্প শুরু করেন এবং আলাদা আলাদা ফাইল ইত্যাদিতে আপনার জিনিসগুলি প্রসারিত করেন তবে বিদ্যমান প্রকল্পের জন্য এটি বরং মারাত্মক।
অ্যালেক্সিস উইলক

-1

অন্য বিকল্প হ'ল npxনোড.জেএস থেকে কমান্ড ব্যবহার করা to npxকোনও নোড.জেএস প্যাকেজটি একটি স্পষ্টভাবে ইনস্টল না করে একটি কমান্ড চালায়।

# Minify JS
npx -p uglify-js uglifyjs -o app.min.js app.js common.js

# Minify CSS
npx clean-css-cli -o style.min.css css/bootstrap.css style.css

# Minify HTML
npx html-minifier index-2.html -o index.html --remove-comments --collapse-whitespace

# XML
npx pretty-data-cli --type xml --minify input.xml > input.min.xml
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.