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.jsiçinde web/jsve benim tema kökünden taşındı ve şimdi RequireJS yapılandırma benim diğer tüm içerir ile ana birleştirilir .webMagento_Theme<Vendor>/<theme>requirejs-config.js
Dolayısıyla, requirejs-config.jstema / 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.jstemanız için bileşeninizi bir yola eşlemeniz ve ardından shimbağı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.xmlkonuma yerleştirdim app/design/frontend/<Vendor>/<theme>/Magento_Theme/layoutve referans aldım :
<block class="Magento\Framework\View\Element\Template" name="theme.js" template="Magento_Theme::html/js.phtml" />