Tamam, sanırım çözdüm ve belgelerin belirsiz olduğunu ve süreci netleştirmek için güncellenmesi gerektiğini düşünüyorum.
Ben her ikisi için sırasıyla ve dizinler requirejs-config.js
içinde web/js
ve benim tema kökünden taşındı ve şimdi RequireJS yapılandırma benim diğer tüm içerir ile ana birleştirilir .web
Magento_Theme
<Vendor>/<theme>
requirejs-config.js
Dolayısıyla, requirejs-config.js
tema / modül gereksinimlerine göre dosyayı aşağıdaki konumlara dahil etmeniz gerektiği anlaşılıyor .
Tema Düzeyi
app/design/frontend/<Vendor>/<theme>/requirejs-config.js
Modül Seviyesi
app/design/frontend/<Vendor>/<theme>/<Module_Name>/requirejs-config.js
Bu nedenle, requirejs-config.js
temanız için bileşeninizi bir yola eşlemeniz ve ardından shim
bağımlılıkları beyan etmek için kullanmanız gerekir:
var config = {
map: {
'component': 'js/component'
},
shim: {
'component': {
deps: ['jquery']
}
}
};
Ardından, bir <script>
etiket aracılığıyla bileşenlerin başlatılmasını sağlamak için bir şablon oluşturmanız gerekir (doğrudan bir .phtml dosyası içindeki bir öğeye eklemezseniz), bu gitmek istediğiniz yolsa, aşağıdaki içeriği ekleyin:
<script type="text/x-magento-init">
{
"*": {
"js/component": {} // Not entirely sure what {} is and what I'm passing here
}
}
</script>
Alternatif olarak, bir öğeye bağlayın:
<script type="text/x-magento-init">
{
"#element": {
"js/component": {} // Not entirely sure what {} is and what I'm passing here
}
}
</script>
Sonra sadece .phtml şablonunu mizanpaj talimatlarınıza ekleyin, örneğin mayınları vücut düğümünün altındaki default.xml
konuma yerleştirdim app/design/frontend/<Vendor>/<theme>/Magento_Theme/layout
ve referans aldım :
<block class="Magento\Framework\View\Element\Template" name="theme.js" template="Magento_Theme::html/js.phtml" />