Коли я запускаю новий проект 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
, наприклад.