Коли я запускаю новий проект M2, перше, що я зробив би, це встановити ядро за допомогою композитора:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition
Тепер я можу написати свої власні модулі (и) та теми (теми) під app/code. Потім я додав би мою composer.*та всю app/codeпапку до свого VCS. Поки все добре.
Припустимо, зараз я хочу використовувати деякі інструменти побудови для свого проекту, скажімо, Grunt або Gulp.
Якщо я зроблю своє
Gruntfile.js, це буде заміненоmagento/magento2-baseпакетом, коли я запущуcomposer installпісля того, як я клонував репо.Якщо я виконую свою
gulpfile.js, я не можу реально визначити свої залежності в apackage.json, тому що це також буде переписаноmagento/magento2-base.Якщо я вирішу використовувати налаштування Grunt Magento і хочу налаштувати його, редагуючи файли в розділі
/dev/tools/grunt(наприкладthemes.js), я не можу, тому що мої зміни будуть заміненіmagento/magento2-base.
Я розумію, що ви не можете дуже багато зробити в корені документа. Звичайно, існує маса рішень для цієї проблеми:
- Я міг запустити
git checkout -відразу після встановлення, щоб скинути власні файли /buildНаприклад, я можу зберігати свої файли збирання у спеціальній папці- Я міг би скористатися іншим інструментом збирання, як-от Phing, Ant, або Rake (хоч мої розвідники не були б такі щасливі)
- Я міг би замінити
magento/magento2-baseспеціальний пакет із спеціальним відображенням основних файлів (не дуже оптимальним, але ей, це варіант)
Мені особисто не подобаються всі ці варіанти, тому я хотів би знати, чи є кращий або кращий спосіб досягти того, що я намагаюся зробити.
Хтось має таку ж проблему? Як ти це вирішив? Як ви структуруєте свій проект під VCS?
ОНОВЛЕННЯ
Додатковий пункт, пов’язаний із налаштуванням проекту. У своїх експериментах я помітив, що інсталятор композитора Magento має прапор для перекриття файлів:
"extra": {
"magento-force": "override"
}
Це внутрішньо трактується як булевий, якщо я не помиляюсь, тому я спробував налаштувати його falseна пропуск головного. Коли я запускаю, composer installустановка не вдається через наявність файлів (файлів). В основному, якщо я не дозволяю Magento змінювати свої файли, я не можу його встановити.
Яка мета цього прапора тоді? Хіба лише припустимо, щоб я перевірив? Мені немає сенсу бути чесним, але, можливо, хтось може пролити трохи світла на цю тему.
Gruntfile.js, gulpfile.jsі package.jsonпроблема вирішена. Питання розглядається в цьому питанні по - , як і раніше належить до більш нової версії Magento 2 , коли вам потрібно змінити themes.js, index.phpабо .htaccess, наприклад.