এই "প্রতিক্রিয়া-স্ক্রিপ্টগুলি বের করে" কমান্ডটি কী করে?


115

কী npm run ejectকমান্ড কি? অন্যান্য কমান্ডগুলি কি শুরু, বিল্ডিং, পরীক্ষা পছন্দ করে তা আমি বুঝতে পারি। তবে ইজেক্ট সম্পর্কে কোনও ধারণা নেই।


4
কীভাবে পরীক্ষা / যাচাই করবেন এই আদেশটি প্রয়োগ করা হয়েছিল কি না?
অ্যালেক্সনিকনভ

উত্তর:


168

ক্রিয়েট-রিঅ্যাক্ট-অ্যাপটি অভ্যন্তরীণভাবে এনপিএম ব্যবহার করছে এমন সমস্ত এনপিএম মডিউলগুলিকে আবদ্ধ করে রাখে, যাতে আপনার প্যাকেজ.জেসন আপনার সম্পর্কে উদ্বিগ্ন না হয়ে খুব পরিষ্কার এবং সাধারণ হয়ে উঠবে।

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

যে, সংক্ষেপে, কি react-scripts ejectকরে। এটি হুডের নীচে কী ইনস্টল করা হয়েছে তা গোপন করা বন্ধ করবে এবং এর পরিবর্তে সকলকে দেখার জন্য আপনার প্রকল্পের প্যাকেজ.জসনে এই জিনিসগুলি বের করে দিন।


4
@ সার্জিই উত্তর আরও সঠিক। ইজেক্টটি কেবল প্যাকেজ.জসন এবং এনপিএম মডিউল সম্পর্কেই নয়, এর মধ্যে অন্যান্য জিনিস (বাবেল, ওয়েবপ্যাক, এসিলিন্ট ইত্যাদি) অন্তর্ভুক্ত রয়েছে github.com/facebook/create-react-app/blob/master/packages/…
ব্রুনো

73
npm run eject

দ্রষ্টব্য: এটি একমুখী অপারেশন। একবার আপনি eject, আপনি ফিরে যেতে পারবেন না!

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

পরিবর্তে, এটি সমস্ত কনফিগারেশন ফাইল এবং ট্রানজিটিভ নির্ভরতা (ওয়েবপ্যাক, ব্যাবেল, ইএসলিন্ট, ইত্যাদি) সরাসরি আপনার প্রকল্পে অনুলিপি করবে যাতে সেগুলির উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ থাকে। কমান্ড ব্যতীত সমস্ত কমান্ড ejectএখনও কাজ করবে তবে তারা অনুলিপি করা স্ক্রিপ্টগুলিতে নির্দেশ করবে যাতে আপনি সেগুলি টুইট করতে পারেন। এই মুহুর্তে আপনি নিজেরাই আছেন।

আপনি কখনও ব্যবহার করতে হবে না eject। কিউরেটেড বৈশিষ্ট্য সেটটি ছোট এবং মাঝারি মোতায়েনের জন্য উপযুক্ত এবং আপনার এই বৈশিষ্ট্যটি ব্যবহার করার দায়বদ্ধতা বোধ করা উচিত নয়। তবে আমরা বুঝতে পারি যে এই সরঞ্জামটি কার্যকর হবে না যদি আপনি এটি প্রস্তুত করার সময় এটি কাস্টমাইজ করতে না পারেন।

ডকুমেন্টেশনের লিঙ্ক


অপসারণের বিকল্প

বের করে দেওয়া আপনাকে যে কোনও কিছুকে কাস্টমাইজ করতে দেয়, তবে সেই দিক থেকে আপনাকে কনফিগারেশন এবং স্ক্রিপ্টগুলি বজায় রাখতে হবে। আপনার যদি অনুরূপ অনেকগুলি প্রকল্প থাকে তবে এটি ভয়ঙ্কর হতে পারে। এই জাতীয় পরিস্থিতিতে ইজেক্টিংয়ের পরিবর্তে কাঁটাচামচ react-scriptsএবং আপনার প্রয়োজন মতো অন্য কোনও প্যাকেজ সুপারিশ করি। এই নিবন্ধটি গভীরভাবে এটি কীভাবে করবেন সে সম্পর্কে ডাইভ করে। আপনি এই ইস্যুতে আরও আলোচনার সন্ধান করতে পারেন


আমরা আবার যোগ করে ফিরে যেতে পারিnpm install react-scripts
আশীষ কম্বলে

আমি এই উভয় পদ্ধতির সাথে পুরোপুরি অসন্তুষ্ট। আপাত কোনও কারণ ছাড়াই আপনার প্রাচীন নির্ভরতা রয়েছে। উভয় পদ্ধতিরই এই সমস্যাগুলি লুকিয়ে রাখে এবং প্রকল্প থেকে ডেড-এন্ড কোডে উন্নয়নের প্রচেষ্টা ডিফোকস করে। সঠিক নির্ভরতা পরিচালনার বিকল্প নেই।
árpád Magosányi

যদি তৈরি-প্রতিক্রিয়া-অ্যাপ্লিকেশনটি গিট দ্বারা সংস্করণিত হয়, আমরা কি চেকআউট / পরিবর্তনগুলি পুনরায় সেট করে ফিরে যেতে পারি?
দেন্দি হ্যান্ডিয়ান

0

এমন প্যাকেজ রয়েছে যা রিট্যাক্ট-স্ক্রিপ্ট এবং আপনার কাস্টমাইজেশনের মধ্যে মিডওয়্যারের মতো অভিনয় করে বের করে না দিয়ে কাস্টমাইজ করার অনুমতি দেবে:

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.