Post ensinando a como adicionar um arquivo Javascript em todas as páginas por meio de um módulo no Magento 2.

Antes de qualquer coisa coloque o Magento no módulo desenvolvedor.
php bin/magento deploy:mode:set developer
Desabilite também o Cache.
php bin/magento cache:disable
Criando a estrutura do módulo
Primeiro crie a seguinte estrutura de pastas em app/code:
Rogertakemiya/Custom
Rogertakemiya/Custom/etc
Rogertakemiya/Custom/view
Rogertakemiya/Custom/view/frontend
Rogertakemiya/Custom/view/frontend/web
Rogertakemiya/Custom/view/frontend/web/js
No diretório Rogertakemiya/Custom/
Crie o arquivo: registration.php
Conteúdo:
<?php
use Magento\Framework\Component\ComponentRegistrar;
$name = implode('_', array_map(
function($part) {
return implode(array_map('ucfirst', explode('-', $part)));
},
array_slice(explode(DIRECTORY_SEPARATOR, __DIR__), -2, 2)
));
ComponentRegistrar::register(ComponentRegistrar::MODULE, $name, __DIR__);
Diretório Rogertakemiya/Custom/etc
Vamos criar o arquivo module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Rogertakemiya_Custom" setup_version="1.0.0">
</module>
</config>
Diretório Rogertakemiya/Custom/view/frontend/web
Adicione o arquivo: requirejs-config.js
var config = {
map: {
'*': {
mask: 'Rogertakemiya_Custom/js/custom'
}
}
};
Diretório Rogertakemiya/Custom/view/frontend/web/js
Criamos o arquivo custom.js com seguinte conteúdo:
require([
'jquery'
], function ($) {
alert("hello");
});
No arquivo custom.js você poderá incluir o seu código Javascript, repare que adicionei como dependência a lib jQuery.
Após a criação da estrutura de pasta com os arquivos execute o comando:
php bin/magento setup:upgrade
Se tudo estiver Ok o arquivo Javascript já deverá estar sendo carregado no frontend.
Não é necessário executar o deploy, pois ela está em modo de desenvolvimento.
Este tutorial é bem simples, para iniciantes, qualquer dúvida, por favor fique a vontade para entrar em contato.