Yeni bir M2 projesine başladığımda yapacağım ilk şey çekirdeği besteci ile kurmaktır:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition
Şimdi özel modüllerimi ve temalarımı altına yazabiliyorum app/code
. Daha sonra benim composer.*
ve tüm app/code
klasörü VCS'ime eklerdim. Şimdiye kadar her şey yolunda.
Şimdi varsayalım, projem için bazı oluşturma araçları kullanmak istiyorum, diyelim ki Grunt veya Gulp.
Eğer kendimi taahhüt edersem, repoyu klonladıktan sonra koştuğumda bu paketin
Gruntfile.js
üzerine yazılacak .magento/magento2-base
composer install
Eğer taahhüt
gulpfile.js
edersem, a bağımlılıklarını gerçekten tanımlayamıyorumpackage.json
, çünkü bunun üzerine de yazılacaktımagento/magento2-base
.Magento'nun Grunt kurulumunu kullanmaya karar verir ve
/dev/tools/grunt
(örn.themes.js
) Altındaki dosyaları düzenleyerek özelleştirmek istersem, yapamam çünkü değişikliklerimin üzerine yazılırmagento/magento2-base
.
Anladığım kadarıyla belge kökünde gerçekten fazla bir şey yapamazsınız. Elbette bu soruna birçok çözüm var:
git checkout -
Kendi dosyalarımı sıfırlamak için kurulumdan hemen sonra çalıştırabilirim- Yapı dosyalarımı özel bir klasörde saklayabilirim,
/build
örneğin - Phing, Ant veya Rake gibi farklı bir oluşturma aracı kullanabilirdim (ön uç geliştiricilerim o kadar mutlu olmazdı)
magento/magento2-base
Temel dosyalar için özel bir eşleme olan özel bir paketle değiştirebilirim (gerçekten optimal değil ama hey, bu bir seçenek)
Kişisel olarak tüm bu seçeneklerden hoşlanmıyorum, bu yüzden yapmaya çalıştığım şeyi elde etmenin tercih edilen veya daha iyi bir yolu olup olmadığını bilmek istiyorum.
Aynı problemi olan var mı? Bunu nasıl çözdün? Projenizi VCS altında nasıl yapılandırıyorsunuz?
GÜNCELLEME
Proje kurulumuyla ilgili ekstra bir nokta. Deneylerimde Magento besteci yükleyicisinin dosya geçersiz kılma için bir bayrağı olduğunu fark ettim:
"extra": {
"magento-force": "override"
}
Eğer yanılmıyorsam dahili olarak bir boole olarak kabul edilir, bu yüzden false
geçersiz kılmayı atlamak için ayarlamaya çalıştım . Çalıştırdığımda composer install
, dosya (lar) zaten mevcut olduğu için kurulumum başarısız oluyor. Temel olarak, Magento'nun dosyalarımı geçersiz kılmasına izin vermezsem, yükleyemem.
O zaman bu bayrağın amacı nedir? Sadece benim için bir çek yapmak mı gerekiyor? Dürüst olmak benim için pek mantıklı değil, ama belki birisi konuya ışık tutabilir.
Gruntfile.js
, gulpfile.js
ve package.json
sorunu çözülmüştür. Bu soruda ele alınan sorun themes.js
, örneğin değiştirmeniz gerektiğinde index.php
veya daha yeni Magento 2 sürümleri için de geçerlidir .htaccess
.