ওপেন সোর্স প্রকল্পগুলিতে / ডিস ডিরেক্টরিটির অর্থ কী?


148

যেহেতু আমি প্রথম dist/অনেকগুলি ওপেন সোর্স প্রকল্পগুলিতে একটি ডিরেক্টরি প্রথম দেখি , সাধারণত গিটহাবের উপর, আমি ভাবছিলাম যে এর অর্থ কী।

সঙ্গে dist, vendor, lib, src, এবং অন্যান্য অনেক ফোল্ডার নামের যে আমরা বেশ প্রায়ই দেখি, আমি কখনও কখনও ভাবছি আমি আমার নিজের ফোল্ডার নাম করা উচিত নয়।

আমি ভুল হলে শুধরে!

  • src: উত্স ধারণ করে । কখনও কখনও কেবল বিশুদ্ধ উত্স, কখনও কখনও সংশোধিত সংস্করণ সহ, প্রকল্পের উপর নির্ভর করে।
  • বিক্রেতা: অন্যান্য ওপেন সোর্স প্রকল্পগুলির মতো অন্যান্য নির্ভরতা ধারণ করে।
  • lib: ভাল প্রশ্ন, এটি বাস্তবের খুব কাছাকাছি vendor, প্রকল্পের উপর নির্ভর করে আমরা একে অপরকে বা উভয়কেই দেখতে পাই ...
  • ডিস্ট: আমি যা দেখেছি তার মধ্যে এটিতে "প্রোডাকশন" ফাইল রয়েছে যা আমরা লাইব্রেরিটি ব্যবহার করতে চাইলে আমাদের ব্যবহার করা উচিত ।

মুক্ত উত্স এত বিভ্রান্তিকর কেন? জিনিস পরিষ্কার করা কি সম্ভব নয়? কমপক্ষে প্রতি ভাষার জন্য কারণ কিছু ভাষা নির্দিষ্ট নাম ব্যবহার করে।


3
আর একটি ভাল উত্তর পাওয়া যাবে
স্কিপজ্যাক

উত্তর:


252

আপনার প্রশ্নের উত্তর দিতে:

/dist সংকলিত কোড / লাইব্রেরি অর্থ "বিতরণযোগ্য"।

ফোল্ডার কাঠামো বিল্ড সিস্টেম এবং প্রোগ্রামিং ভাষার দ্বারা পরিবর্তিত হয়। এখানে কিছু স্ট্যান্ডার্ড কনভেনশন রয়েছে:

  • src/: প্রকল্প তৈরি এবং বিকাশের জন্য "উত্স" ফাইল এই যেখানে মূল উৎস ফাইলগুলিতে কম ফাইল মধ্যে কম্পাইল করা হচ্ছে আগে, অবস্থিত হয় dist/, public/বা build/
  • dist/: "বন্টন", কম্পাইল কোড / গ্রন্থাগার, এছাড়াও নামে public/বা build/। উত্পাদন বা জনসাধারণের ব্যবহারের জন্য বোঝানো ফাইলগুলি সাধারণত এখানে থাকে।
  • assets/: চিত্র, ভিডিও, অডিও, ফন্ট ইত্যাদির মতো স্থির সামগ্রী
  • lib/: বাহ্যিক নির্ভরতা (যখন সরাসরি অন্তর্ভুক্ত থাকে)।
  • test/: প্রকল্পের স্ক্রিপ্টস, মক, ইত্যাদির পরীক্ষাগুলি
  • node_modules/: এনএমপি দ্বারা ব্যবহৃত জেএস প্যাকেজগুলির জন্য গ্রন্থাগার এবং নির্ভরতা অন্তর্ভুক্ত করে।
  • vendor/: পিএইচপি প্যাকেজগুলির জন্য লাইব্রেরি এবং নির্ভরতা অন্তর্ভুক্ত করে, সুরকার দ্বারা ব্যবহৃত।
  • bin/: ইনস্টল করার সময় যে ফাইলগুলি আপনার PATH এ যুক্ত হয়।

মার্কডাউন / পাঠ্য ফাইল:

  • README.md: একটি সহায়তা ফাইল যা প্রকল্পটির সেটআপ, টিউটোরিয়াল এবং ডকুমেন্টকে সম্বোধন করে। README.txtব্যবহার করা হয়।
  • LICENSE.md: প্রকল্প সম্পর্কিত আপনাকে প্রদত্ত কোনও অধিকারLICENSEবা LICENSE.txtলাইসেন্সের ফাইলের নামের বিভিন্নতা রয়েছে, একই সামগ্রী রয়েছে।
  • CONTRIBUTING.md: কিভাবে প্রকল্পে সাহায্য করতে । কখনও কখনও এই README.mdফাইলটি সম্বোধন করা হয় ।

নির্দিষ্ট (এগুলি চিরকাল চলতে পারে):

  • package.json: এনএমপি দ্বারা ব্যবহৃত জেএস প্যাকেজগুলির জন্য গ্রন্থাগার এবং নির্ভরতা সংজ্ঞায়িত করে।
  • package-lock.json: নির্ভরতা জন্য নির্দিষ্ট সংস্করণ লক থেকে ইনস্টল করা package.json, এনএমপি দ্বারা ব্যবহৃত।
  • composer.json: পিএইচপি প্যাকেজগুলির জন্য গ্রন্থাগার এবং নির্ভরতা নির্ধারণ করে, সুরকার দ্বারা ব্যবহৃত।
  • composer.lock: composer.jsonরচয়িতা দ্বারা ব্যবহৃত থেকে নির্ভরতাগুলির জন্য নির্দিষ্ট সংস্করণ লক ।
  • gulpfile.js: গুল্পের সাথে পরিচালিত ফাংশন এবং কার্যগুলি সংজ্ঞায়িত করতে ব্যবহৃত হয়।
  • .travis.yml: ট্র্যাভিস সিআই পরিবেশের জন্য কনফিগার ফাইল ।
  • .gitignore: গিট দ্বারা উপেক্ষা করা বোঝানো ফাইলগুলির নির্দিষ্টকরণ ।

35
এর অর্থ কী dist?
ভাদোরোয়েস্ট

23
বিতরণ, এটি সাধারণত সংকলিত সফ্টওয়্যার ধারণ করে।
0xcaff

2
assets/ফোল্ডারটির কী হবে ? কী ধারণ করার কথা?
শেখেম্টি

2
@ শিখেম্টি, চিত্র, ভিডিও, অডিও, ফন্ট ইত্যাদির মতো স্থিতিশীল সামগ্রী
কোয়াকার

এবং জনসাধারণের জন্য? app.use (এক্সপ্রেস.স্ট্যাটিক (__ dirname + '/ সর্বজনীন')); ?? app.use (এক্সপ্রেস.স্ট্যাটিক (__ dirname + '/ dist')); একটি ভাল ধারণা নয়
LOG_TAG

55

distফোল্ডারের অর্থ সম্পর্কে আপনার মূল প্রশ্নের উত্তর দিতে :

শর্টফর্মটির distঅর্থ দাঁড়ায় distributableএবং এমন একটি ডিরেক্টরি নির্দেশ করে যেখানে ফাইলগুলি সংরক্ষণ করা হবে যা পুনরায় ব্যবহার করা হচ্ছে এমন উত্স কোডটি সংকলন বা মাইনাইফ করার প্রয়োজন ছাড়াই অন্যরা সরাসরি ব্যবহার করতে পারে।

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

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

দ্রষ্টব্য: কিছু ডেভেলপারদের মত নাম ব্যবহার target, buildবা dest(গন্তব্য) পরিবর্তে dist। তবে এই ফোল্ডারগুলির উদ্দেশ্য অভিন্ন।


11
আমি মনে করি এটি সর্বোত্তম প্রশ্নের উত্তর দেয়। ডিস্ট মানে বিতরণযোগ্য, বিতরণ নয়। এটি সেই ডিরেক্টরি যা একবার সমস্ত কিছু সংকলন, ঝাঁকুনি, স্থানচ্যুত, একত্রিত ও অন্যান্য উত্স এবং ফাইল এবং ট্রিনিকেট ইত্যাদি থেকে উত্পাদিত হয় this এটি আপনি বিতরণ করতে বা অন্যকে বোঝাতে চান যে এটি বিতরণযোগ্য!
এরিক বিশার্ড

3

ফোল্ডারগুলির সংক্ষিপ্তসার:

  • বিন: বাইনারি
  • src: উত্স
  • অন্তর্ভুক্ত: সি / সি ++ হেডার
  • lib: সি / সি ++ লাইব্রেরি
  • অবদান: অন্যান্য লোকের কাছ থেকে অবদান
  • ডক / ডক্স: ডকুমেন্টেশন
  • ম্যান: ম্যানুয়াল (ইউনিক্স / লিনাক্স)

1

বাস্তবিক! "ডিস্ট ফোল্ডার" ফলাফল হিসাবে উত্পাদনের জন্য "এনপিএম রান বিল্ড" বা "এনজি বিল্ড" বা "এনজি বিল্ড - প্রোড" দিয়ে একটি সোর্স কোড সংশোধন করার পরে পাবেন।

এদিকে! "ডিস্ট ফোল্ডার" পাওয়ার পরেও আপনার প্রকল্পের প্রকার on এর উপর নির্ভর করে এখনও কয়েকটি জিনিস আপনার করতে হবে ✌️

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