বাবেল-প্রসেট-পর্যায় -0, বাবেল-প্রসেট-পর্যায় -1 ইত্যাদির মধ্যে পার্থক্য কী?


126

আমার প্রশ্ন হচ্ছে: মধ্যে পার্থক্য কি babel-preset-stage-0, babel-preset-stage-1, babel-preset-stage-2এবং babel-preset-stage-3, এবং কি ভাল পছন্দ যখন আমরা সঙ্গে বিকাশ এর ES6?

উত্তর:


97

বাবেলের স্টেজ প্রিসেটগুলি সম্ভাব্য ভাষা পরিবর্তনের জন্য টিসি 39 প্রক্রিয়া এবং প্রতিটি প্রস্তাবের বিভিন্ন রাজ্যের সমতুল্য । সেগুলিতে সেই পর্যায়ে প্রস্তাবিত সমস্ত পরিবর্তনের জন্য বাস্তবায়ন এবং পলিফিল অন্তর্ভুক্ত রয়েছে।

বর্তমানে যা কিছু আছে Stage-0তা এসএস নয় , স্ট্রোম্যান । এটি ভবিষ্যতের জাভাস্ক্রিপ্ট এবং একেবারেই নিশ্চিত নয় যে এটি এটিকে কোনও অফিসিয়াল ইসকামাস্ক্রিপ্ট স্পেসিফিকেশন হিসাবে তৈরি করবে।

দয়া করে কেবল সেটstage-0 করবেন না তাই এটির ফলাফল কী হবে তা না বুঝে এটি কাজ করবে।

কেবলমাত্র ইএস 6 বৈশিষ্ট্যযুক্ত বাবেল প্রিসেটটি হ'ল preset-es2015


3
কি হবে stage-1? এটি ব্যবহার করার জন্য নিরাপদ? stage-1ভবিষ্যতে কিছু বৈশিষ্ট্য হ্রাস করা এবং এপিআই-গুলি পরিবর্তন করা যেতে পারে?
notgiorgi

4
@ নোটজিওরজি এর চেয়ে নিরাপদstage-0 তবে কোনও পরিবর্তন বা সম্পূর্ণ অবমূল্যায়ন থেকে সম্পূর্ণ নিরাপদ নয় ( কল কন্সট্রাক্টরের প্রস্তাব যা পর্যায় 1 এর পরে প্রত্যাহার করা হয়েছিল) দেখুন। তবে একই ধাপ 4 (অর্থাত্ সমাপ্ত) ব্যতীত অন্য কোনও পর্যায়ের বিষয়ে বলা যেতে পারে।
কোডিংইন্ট্রিগ

নোড 6 বা আরও ভাল চলমান থাকলে আপনি এই দিনগুলির preset-es2015সাথে প্রতিস্থাপন করতে চাইতে পারেন babel-preset-node6
ডেভ সাগ

5
বা আরও ভাল, babel-preset-envযে কোনও পরিবেশকে টার্গেট করতে পারে!
কোডিংইন্ট্রিগ

5
babel-preset-envগাইজ দয়া করে ইনস্টল অফ ব্যবহার করুন babel-preset-es2015babel-preset-es2015প্রায় পুরানো
বিজয়

53

হিসাবে বেশিরভাগই অন্যান্য উত্তর দ্বারা সবিস্তৃত। 4 মঞ্চটি সবচেয়ে স্থিতিশীল এবং পর্যায় 0, সবচেয়ে বিপজ্জনক। পূর্ববর্তী উত্তর এবং ডকুমেন্টেশন থেকে 5 টি পর্যায়ের জন্য এখানে উচ্চ স্তরে কিছুটা ভাঙ্গন। আমি এটি যুক্ত করছি কারণ আমি যখন এদিকে এসেছি তখন প্রতিটি স্তরের কী আরও উচ্চ-স্তরের বিরতি আশা করছিলাম:


পর্যায় 4: সমাপ্ত

ইসমাস্ক্রিপ্ট স্ট্যান্ডার্ডে অন্তর্ভুক্তির জন্য প্রস্তুত, পরীক্ষায় উত্তীর্ণ হয়েছে এবং পরবর্তী সংশোধনের অংশ হবে


পর্যায় 3: প্রার্থী

একটি সম্পূর্ণ স্পেস পাঠ অন্তর্ভুক্ত করে এবং প্লাগইনগুলি অন্তর্ভুক্ত করে যা বেশিরভাগ পরীক্ষিত এবং প্রতিক্রিয়া সরবরাহ করে। সমাধান সম্পূর্ণ এবং আরও সমস্ত পরিবর্তন বাস্তবায়নের অভিজ্ঞতার ভিত্তিতে।


দ্বিতীয় পর্যায়: খসড়া

প্লাগিনগুলির জন্য আরও সমর্থন যথাসম্ভব সম্পন্ন হয়েছে। এইগুলির জন্য প্রয়োজনীয়গুলি বেশিরভাগ পথে কেবলমাত্র বর্ধনীয় পরিবর্তন সহ পূরণ করা হয়। শব্দার্থক এবং এপি সম্পূর্ণরূপে প্রত্যাশিত। এটি সম্ভবত অনুমানের অংশ হয়ে উঠবে।


প্রথম পর্যায়: প্রস্তাবনা এমন একটি ধারণা যা আবিষ্কার করা হয়েছে এবং এই পর্যায়ে পরীক্ষা করার জন্য নির্বাচিত হয়েছে বেশিরভাগ পলি-ফিল এবং ডেমো প্রত্যাশিত।


পর্যায় 0: স্ট্রোম্যান টিসি -৯৯ অনুসারে এই নামটি আমাকে চকচকে করে তুলেছিল এ ধরণের কোনও ধরণের আবদ্ধতা নেই তবে প্রসঙ্গটি দেওয়া হচ্ছে এটি এমন ধারণাগুলির জন্য বিভাগ যা অনুসরণ করা বা পরীক্ষার জন্য নির্বাচিত হয়নি।

প্রতিটি স্তর অন্তর্ভুক্ত যেখানে 4 এর মধ্যে 2 টি 2 এবং আরও অন্তর্ভুক্ত রয়েছে ... আমি আশা করি যে এই সংমিশ্রণটি ভবিষ্যতে কাউকে সহায়তা করবে।


15

টিসি 39 প্রক্রিয়া দ্বারা নির্ধারিত পর্যায়গুলি পর্যায়গুলি প্রতিনিধিত্ব করে যা ES6 এর মতো গ্রহণযোগ্য মানগুলিতে উন্মাদ কিন্তু দরকারী ধারণা থেকে বৈশিষ্ট্যগুলি কাজ করে। প্রক্রিয়াটি কিছুটা সময় নেয়, যেহেতু প্রতিটি কোণার ক্ষেত্রে অবশ্যই আলোচনা করা উচিত, পরীক্ষা করা উচিত, পলিফিল্ড করা উচিত, আরও কিছু নিয়ে আলোচনা করা হবে ইত্যাদি it এটি একটি স্ট্যান্ডার্ড বডি। লক্ষ্যটি হ'ল "ES6" বলার একটি সম্পূর্ণ এবং সম্পূর্ণ অর্থ হবে, "ES5" বলার মতোই।

অনুশীলনে, আপনার প্রকল্পের প্রয়োজনীয়তা চেষ্টা করা থেকে বিরত থাকতে পারে এবং ওহ-তাই-সুবিধাজনক, যদি মুখোমুখি হয় তবে ভাষার বৈশিষ্ট্যগুলি নিয়ে চারপাশে খেলতে পারা যায়। আপনি সম্ভবত এই লিঙ্কগুলি দিয়ে শুরু করতে চান:

  • টিসি 39 প্রক্রিয়া ওভারভিউ : এতে পর্যায়গুলি কী বোঝায় এবং পর্যায় থেকে পর্যায় পর্যন্ত কীভাবে বৈশিষ্ট্যগুলি উন্নতি করে তা নিফটি চার্ট অন্তর্ভুক্ত করে। এর নীচে টিসি 39 এর একটি ওভারভিউ দেওয়া আছে।

  • সক্রিয় প্রস্তাবসমূহ : নির্দিষ্ট প্রস্তাবগুলি কোন ধাপে রয়েছে তার একটি দ্রুত পর্যালোচনা view এতে সমাপ্ত, নিষ্ক্রিয় এবং পর্যায় 0 প্রস্তাবগুলির লিঙ্কগুলিও অন্তর্ভুক্ত রয়েছে। আজ, এপ্রিল 2017, সার্বজনীন ক্ষেত্র ক্ষেত্রগুলি দ্বিতীয় পর্যায়ে রয়েছে যার অর্থ এটি সুনির্দিষ্টভাবে বর্ণনা করা হয়েছে এবং পর্যালোচকদের অর্পণ করা হয়েছে, তবে সম্পূর্ণ পর্যালোচনা করা হয়নি।

  • স্টেজ 3 এর জন্য বাবেল প্রিসেট প্যাকেজ : সমস্ত স্টেজ 3 প্রস্তাবনার জন্য গিট এবং এনপিএমের লিঙ্কযুক্ত প্লাগ-ইন পৃষ্ঠা। মূলত, এই প্লাগ-ইন প্যাকেজগুলির সংগ্রহের দিকে টান দেয় যা তাত্ত্বিকভাবে, TC39 পর্যায়ে বর্তমান প্রস্তাবগুলি পলিফিল 3 practice বাস্তবে, বাগগুলি হতে পারে। এছাড়াও, আপনি অনুরূপ সন্ধান করতে পারেন একইভাবে, এটি পর্যায় 2 এবং এর নীচের প্লাগ-ইন পৃষ্ঠাগুলির সাথে লিঙ্ক করে। এই পৃষ্ঠাগুলি প্যাকেজগুলিতে লিঙ্ক করবে যেগুলিতে পর্যায় 3 প্রস্তাব এবং কম স্থিতিশীল প্রস্তাব উভয়ই অন্তর্ভুক্ত রয়েছে।

  • বাবেল প্রিসেট 'এনভিভ' : এই বাবেল প্রিসেটটি পরিপূর্ণ প্রস্তাবগুলিকে সমর্থন করে, একটি পরিচিত পরিবেশে এই বৈশিষ্ট্যগুলি সমর্থন করার জন্য প্রয়োজনীয় সঠিক প্যাকেজগুলি নির্বাচন করে। উদাহরণস্বরূপ, স্থানীয় nodeএক্সিকিউটেবলের জন্য পুরানো ব্রাউজারের চেয়ে কম প্লাগইন প্রয়োজন। এটি অনুমোদিত 'ভবিষ্যতের বৈশিষ্ট্যগুলিকে সমর্থন করে এমন' স্টেজ -4 'প্লাগইন নিয়ে ভাবতে পারে।

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


ধন্যবাদ, সুতরাং
বাবেল

4

এটি বোঝার সেরা সূচনা পয়েন্ট। বাবেলের প্রিসেটগুলি কী

লিঙ্কের একটি অংশ:

পর্যায় 0 - স্ট্রোম্যান: কেবল একটি ধারণা, সম্ভাব্য ব্যাবেল প্লাগইন।
মঞ্চ 1 - প্রস্তাবনা: এটি কাজ করার মতো।
পর্যায় 2 - খসড়া: প্রাথমিক অনুমান।
পর্যায় 3 - প্রার্থী: সম্পূর্ণ স্পেক এবং প্রাথমিক ব্রাউজার বাস্তবায়ন।
পর্যায় 4 - সমাপ্ত: পরবর্তী বার্ষিক প্রকাশে যুক্ত করা হবে

সামগ্রিক চিত্র :

  1. সময়ের সাথে সাথে জাভাস্ক্রিপ্ট বিকশিত হচ্ছে এবং ভাষাতে আরও বেশি করে বৈশিষ্ট্য যুক্ত করা হচ্ছে।
  2. ব্রাউজারগুলিকেও অনেক কাজ করতে হয় যাতে তারা এই নতুন বৈশিষ্ট্যগুলি তাদের দ্বারা বোঝার জন্য প্রয়োগ করতে পারে। জাভা স্ক্রিপ্টটি যে গতির সাথে বিকশিত হচ্ছে তার চেয়ে সাধারণভাবে এই প্রক্রিয়াটি অনেক ধীর।
  3. তবে বিকাশকারীরা ভাষার নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে চান যেহেতু কোডটি লেখার, বোঝার ও বজায় রাখা তাদের পক্ষে সহজ করে তোলে।
  4. সুতরাং বিকাশকারীরা নতুন জাভাস্ক্রিপ্ট বৈশিষ্ট্যগুলি ব্যবহার করে তাদের কোডটি লেখেন, তবে সেই কোডটি ব্রাউজারগুলিতে পৌঁছানোর আগে এটি একটি বিল্ড প্রক্রিয়াতে চলে যায় যেখানে কিছু ম্যাজিক ব্যবহার করে, নতুন বৈশিষ্ট্যযুক্ত সমস্ত কোড ব্রাউজারের দ্বারা বোঝার কোডে স্থানান্তরিত হয়। অর্থাত জাভাস্ক্রিপ্টের নতুন বৈশিষ্ট্যগুলি কিন্তু ভাষার ব্রাউজার বোধগম্য কনস্ট্রাক্ট ব্যবহার করে কোডড od
  5. বিল্ড ম্যাজিকটি সরঞ্জাম ব্যবহার করে করা যেতে পারে, এর মধ্যে একটি হ'ল বাবেল।
  6. বাবেল যেভাবে কাজ করে তা হ'ল এটি প্লাগইনগুলির একটি সেট নেয়। এই প্লাগইনগুলির প্রতিটি জাভাস্ক্রিপ্টের একটি বিশেষ নতুন বৈশিষ্ট্যকে ভাষার ব্রাউজারের বোধগম্য কনস্ট্রাক্টসে রূপান্তরিত করতে পারে।
  7. এরকম শত শত প্লাগইন রয়েছে, প্রত্যেকে জাভাস্ক্রিপ্টের বিভিন্ন নতুন বৈশিষ্ট্য উল্লেখ করে। এই বৈশিষ্ট্যগুলি চূড়ান্ত জাভাস্ক্রিপ্ট অনুমানের অংশ হতে পারে বা নাও হতে পারে। এবং যদি এটি জাভাস্ক্রিপ্টের চূড়ান্ত প্রতিবেদনে চূড়ান্ত হয় না, তবে ব্রাউজারগুলির কোনওটিই এই বৈশিষ্ট্যটি প্রয়োগ করবে না। সুতরাং কোনও বিকাশকারী যদি বাবেল প্লাগইন ব্যবহার করে জেএসের কোনও পরীক্ষামূলক বৈশিষ্ট্য ব্যবহার করে তবে তার ঝুঁকিটি সে গ্রহণ করছে। যদি তা কখনই শেষ হয় না, কোডের সেই অংশটি ব্রাউজারগুলিতে স্থাপনের আগে সর্বদা স্থানান্তর করতে হবে।
  8. এই ঝুঁকিটি বিভিন্ন স্তরে শ্রেণিবদ্ধ করা হয়েছে যাতে কোনও বৈশিষ্ট্যের চূড়ান্ত অনুমানে পৌঁছার সম্ভাবনা থাকে।
  9. এছাড়াও বাবেল এই প্লাগইনগুলিকে বিভিন্ন সেটে গ্রুপবদ্ধ করেছে, যা presetবাবেলের পদগুলিতে বলা হয়। এবং প্রতিটি প্রিসেটে বিভিন্ন স্তরের ঝুঁকির প্লাগইন থাকে।
  10. preset-0এর অর্থ এটির বৈশিষ্ট্যগুলির জন্য এটির জন্য প্লাগইন রয়েছে যা খুব পরীক্ষামূলক এবং তাই এটি চূড়ান্ত বিবরণে পরিণত করার উচ্চ ঝুঁকিতে। এটি এমন একটি ধারণার মতো যা বিকাশকারীর কাছে এসেছিল যে জাভাস্ক্রিপ্টের একটি বিশেষ বৈশিষ্ট্য থাকা উচিত এবং এটি টিসি -39 প্রস্তাব প্রক্রিয়াতে পাওয়ার জন্য কিছু কাজ করেছিলেন।
  11. preset-1 এতে টিসি -39-র দ্বারা গৃহীত বৈশিষ্ট্য ধারণাগুলির জন্য প্লাগইন রয়েছে এবং তারা এটিতে কাজ করা উপযুক্ত বলে মনে করে।
  12. preset-2বৈশিষ্ট্যগুলির জন্য প্লাগিনগুলি যেখানে বৈশিষ্ট্যটির জন্য প্রাথমিক খসড়া প্রস্তুত। এবং এটি চলে ..

সুতরাং এটি ঘটতে পারে যে স্টেজ 0-এ একটি বৈশিষ্ট্যটি কিছু সময়ের 2 মঞ্চে পৌঁছেছিল এবং জাভাস্ক্রিপ্টের পরবর্তী প্রকাশে আরও কিছু সময় পরে এসেছিল।

সুতরাং এই বাবেল প্রিসেটগুলির প্রতিটি সংস্করণ সহ, আপনি এটিতে প্লাগইনের বিভিন্ন সেট খুঁজে পেতে পারেন। এটি এমনও হতে পারে যে 0 মঞ্চের একটি বৈশিষ্ট্যটি কিছু পরিবর্তনগুলির মধ্য দিয়ে গেছে এবং এটি কীভাবে এটি কাজ করে তা ভঙ্গ পরিবর্তন করে। এবং এটি পৌঁছেছে, একেবারে আলাদা এপিআই সহ স্টেজ -2 বলুন। সুতরাং বিকাশকারীদের নিশ্চিত করতে হবে যে তারা যখন এই প্লাগইনগুলি আপডেট করে থাকে তখন তারা তাদের কোডে প্রয়োজনীয় পরিবর্তন করে।


3

মূল প্রশ্নটি হ'ল "ব্যাবেল-প্রসেট-পর্যায় -২০, ব্যাবেল-প্রসেট-পর্যায় -১, ব্যাবেল-প্রসেট-পর্যায় -২ এবং ব্যাবেল-প্রসেট-পর্যায় -৩ এর মধ্যে পার্থক্য কী", এটি "মজাদার" বিষয়টি আলাদা যে "পার্থক্যকে কেন্দ্র করে উত্তর দেয়" টিসি 39 পর্যায় -0, পর্যায় 1-এর মধ্যে .. পরিভাষা "ভোট দিন, তবে কেবলমাত্র প্রাসঙ্গিক (যদিও সঠিক নয়) নিচে ভোট দেওয়া হয়েছে। বাবেল সাইট থেকে উদ্ধৃতি দিতে:

একটি ব্যাবেল প্রসেট হ'ল প্লাগইনগুলির একটি ভাগ করে নেওয়া যায় এমন তালিকা।

অফিসিয়াল বাবেল স্টেজ প্রিসেটগুলি জাভাস্ক্রিপ্টে নতুন সিনট্যাক্স প্রস্তাবগুলির জন্য টিসি 39 স্টেজিং প্রক্রিয়াটি সন্ধান করেছে।

প্রতিটি প্রিসেট (উদাঃ পর্যায় -3, পর্যায় -2, ইত্যাদি) সেই নির্দিষ্ট পর্যায়ে এবং তার উপরে থাকা সমস্ত প্লাগইন অন্তর্ভুক্ত করে। উদাহরণস্বরূপ, মঞ্চ 2-এ স্টেজ -3 অন্তর্ভুক্ত ছিল।

মূল ধারণাটি 'এর উপরে থাকা'। আমি দ্বিতীয়ার্ধের উত্তর দিচ্ছি না কারণ উপরের উত্তরগুলি সেই অংশে খুব ভাল।


-20

আমি এটা পেয়েছি. আপনি ছেলেরা https://babeljs.io/docs/plugins/preset-stage-0/ উল্লেখ করতে পারেন

একটি সংক্ষিপ্ত শব্দে, preset-stage-0রয়েছে সমস্ত কার্যকারিতা preset-stage-1এবং preset-stage-1এতে রয়েছে সমস্ত কার্যকারিতা এবং এতে preset-stage-2...

লোয়ার ডিজিট আরও শক্তিশালী। আপনার প্রকল্পে, আপনি যদি সমস্যা নিয়ে উদ্বিগ্ন না হন তবে কেবল সেট করুন stage-0...


15
কিন্তু আপনি কি বুঝতে পারেন stage-0, ইত্যাদি আসলে কী? আপনি যেহেতু "লোয়ার ডিজিট আরও শক্তিশালী is" বলছেন তাই আমি বিশ্বাস করি না।
ফেলিক্স ক্লিং

2
আসলে, আমি এর stageসাথে বিভ্রান্ত হয়েছি ES6, @ আরগ্রাহাম তা উল্লেখ করেছেন The Babel Preset which contains only ES6 features is preset-es2015। ধন্যবাদ!
ফ্লাইংজেল

আপনি যদি পরে সমস্যা করতে চান তবে কেবল স্টেজ -0 ব্যবহার করুন! কিছু বা সমস্ত পর্যায়ে -0 বৈশিষ্ট্যগুলি এটিকে ইএস-স্পিকে একেবারেই তৈরি করতে পারে না। সুতরাং মঞ্চ -0 বৈশিষ্ট্যগুলি ব্যবহার থেকে সাবধান থাকুন।
devsnd

এই উত্তরটি কেন এত নিচে ভোট হয়েছে তা নিশ্চিত নয়। তিনি যা বলছেন তা সঠিক। টিসি 39 স্টেজ -0 মূলত এমন প্রস্তাবগুলি যা খুব অবিশ্বস্ত। তারা চূড়ান্ত প্রস্তাব এটি করতে বা না পারে। কিন্তু babel-preset-stage-0সব প্লাগ-অন্তর্ভুক্ত, ছোটো থেকে stage-0থেকে stage-3। এর অর্থ হ'ল আমি প্রস্তাবিত সমস্ত বৈশিষ্ট্য চাই, তারা এটিকে প্রস্তাবনা তৈরি করতে পারে কি না তা বিবেচনা করে না।
গৌরব কুমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.