যখন আমি একটি নতুন এম 2 প্রকল্প শুরু করি, আমি প্রথমে করণীয় হ'ল মূলটি সুরকারের মাধ্যমে ইনস্টল করা:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition
আমি এখন আমার কাস্টম মডিউল (গুলি) এবং থিম (গুলি) এর অধীনে লিখতে পারি app/code। তারপরে আমি আমার composer.*এবং পুরো app/codeফোল্ডারটি আমার ভিসিএসে যুক্ত করব। এখনও পর্যন্ত সবকিছু ঠিক আছে।
মনে করুন এখন আমি আমার প্রকল্পের জন্য কিছু বিল্ড সরঞ্জাম ব্যবহার করতে চাই, আসুন গ্রান্ট বা গুল্প বলি।
যদি আমি আমার নিজস্ব প্রতিশ্রুতিবদ্ধ হয়
Gruntfile.js, আমি রেপো ক্লোন করার পরেmagento/magento2-baseযখন চালনা করব তখন এটি প্যাকেজের মাধ্যমে ওভাররাইট হয়ে যাবেcomposer install।যদি আমি আমার প্রতিশ্রুতিবদ্ধ হয় তবে আমি
gulpfile.jsসত্যিকার অর্থে আমার নির্ভরতাগুলি সংজ্ঞায়িত করতে পারি নাpackage.json, কারণ এটি দ্বারাও ওভাররাইট করা হবেmagento/magento2-base।আমি যদি ম্যাজেন্টোর গ্রান্ট সেটআপটি ব্যবহার করার সিদ্ধান্ত নিয়েছি এবং
/dev/tools/grunt(উদাহরণস্বরূপthemes.js) এর অধীনে ফাইলগুলি সম্পাদনা করে এটি কাস্টমাইজ করতে চাই , তবে আমি করতে পারি না কারণ আমার পরিবর্তনগুলি ওভাররাইট হয়ে যাবেmagento/magento2-base।
আমার বোধগম্যতা হল আপনি নিজের ডকুমেন্টের মূলটিতে খুব বেশি কিছু করতে পারবেন না। এই সমস্যার অবশ্যই প্রচুর সমাধান রয়েছে:
- আমি
git checkout -আমার নিজের ফাইলগুলি পুনরায় সেট করতে ইনস্টলের পরে ডানদিকে চালাতে পারি /buildউদাহরণস্বরূপ , আমি আমার বিল্ড ফাইলগুলিকে ডেডিকেটেড ফোল্ডারে সঞ্চয় করতে পারি- আমি ফিলিং, পিঁপড়া বা রেকের মতো আলাদা বিল্ড টুল ব্যবহার করতে পারি (যদিও আমার ফ্রন্টএন্ড ডেভস এত খুশি হবে না)
- আমি এমন
magento/magento2-baseএকটি কাস্টম প্যাকেজটি প্রতিস্থাপন করতে পারি যা কোর ফাইলগুলির জন্য কাস্টম ম্যাপিং রয়েছে (সত্যিই অনুকূল নয় তবে ওহে, এটি একটি বিকল্প)
আমি ব্যক্তিগতভাবে এই সমস্ত অপছন্দকে অপছন্দ করি, তাই আমি কী করতে চাইছি তা অর্জন করার জন্য পছন্দসই বা আরও ভাল উপায় আছে কিনা তা জানতে চাই।
কারও কি একই সমস্যা হচ্ছে? তুমি এটা কিভাবে সমাধান করেছিলে? আপনি কীভাবে ভিসিএসের আওতায় আপনার প্রকল্পটি কাঠামো করেন?
হালনাগাদ
প্রকল্প সেটআপ সম্পর্কিত একটি অতিরিক্ত পয়েন্ট। আমার পরীক্ষাগুলিতে আমি লক্ষ্য করেছি যে ম্যাজেন্টো সুরকার ইনস্টলারটির ফাইল ওভাররাইডের জন্য একটি পতাকা রয়েছে:
"extra": {
"magento-force": "override"
}
আমার ভুল না হলে এটি অভ্যন্তরীণভাবে বুলেটিয়ান হিসাবে বিবেচিত হয়, তাই আমি এটিকে falseওভাররাইডিং এড়াতে সেট করার চেষ্টা করেছি । আমি যখন composer installফাইল চালাচ্ছি তখনই ফাইলটি ইতোমধ্যে উপস্থিত থাকার কারণে আমার ইনস্টলেশনটি ব্যর্থ হয়। মূলত, যদি আমি ম্যাজেন্টোকে আমার ফাইলগুলিকে ওভাররাইড না করি তবে আমি এটি ইনস্টল করতে পারছি না।
তখন এই পতাকাটির উদ্দেশ্য কী? এটা কি কেবল আমার জন্য একটি চেক সঞ্চালন করা অনুমান? এটা আমার কাছে সত্য বলে খুব একটা বোঝা যায় না, তবে সম্ভবত কেউ এই বিষয় সম্পর্কে কিছু আলোকপাত করতে পারে।
Gruntfile.js, gulpfile.jsএবং package.jsonসমস্যা সমাধান করা হয়। ইস্যু এই প্রশ্নের সুরাহা যখন আপনি পরিবর্তন করতে হবে এখনও নতুন Magento 2 সংস্করণ প্রযোজ্য themes.js, index.phpবা .htaccessউদাহরণস্বরূপ।