requirejs-config.js
używa do tworzenia mapowania zasobów JavaScript . Możemy znaleźć wszystkie wymagają configs pod adresem: pub/static/_requirejs
.
O ile mi wiadomo, poprawny sposób ładowania naszego niestandardowego skryptu za pomocą Require Js: użycie szablonu do wywołania naszego skryptu . Stworzymy nowy szablon z Magento\Framework\View\Element\Template
jego klasą bloków.
Jeśli chcemy, aby załadować pliki js na wszystkich stronach i nie chcesz, aby utworzyć nowy moduł, nasz blok powinien odwoływać się do before.body.end
lubafter.body.start container
w default.xml
- moduł Theme Magento.
app / design / frontend / Vendor / Theme / Magento_Theme / layout / default.xml
<?xml version="1.0"?>
<page layout="3columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="after.body.start">
<block class="Magento\Framework\View\Element\Template" name="custom.js" template="Magento_Theme::custom_js.phtml"/>
</referenceContainer>
</page>
app / design / frontend / Vendor / Theme / Requjs-config.js
var config = {
map: {
'*': {
customScript:'Magento_Theme/js/customscript'
}
}
};
app / design / frontend / Vendor / Theme / Magento_Theme / web / js / Customcript.js
define('jquery', function($) {
//Your code here
//alert('Here');
}(jQuery)
);
Nasz szablon wywoła nasz skrypt: app / design / frontend / Vendor / Theme / Magento_Theme / templates / custom_js.phtml
<script>// <![CDATA[
require([
'jquery',
'customScript'
], function ($, script) {
//Your code here
//alert('Here');
});
// ]]>
</script>
Wyczyść pamięć podręczną Magento i uruchom wdrażanie zawartości statycznej: php bin/magento setup:static-content:deploy