Модули JavaScript
CMintS использует Модули в стиле Node.js и помогает создать модуляризированный функционал для темы. Все это делается с помощью просмотров
Файлы JavaScript, размещенные в файле theme/js
и не начинаются с _
, например.: _contextMenu.js
компилируются папку public/js
.
Рассмотрим:
/* theme/js/_contextMenu.js */
const toggleContextMenu = (buttonElem) =>
{
const contextMenus = buttonElem.closest(".contextMenu");
if (contextMenus)
contextMenus.classList.toggle("visible");
};
module.exports.toggleContextMenu = toggleContextMenu;
И:
/* theme/js/main */
const {toggleContextMenu} = require("./_contextMenu");
document.body.addEventListener("click", (e)=>
{
toggleContextMenu(e.target);
}, false);
Пример выше будет скомпилирован в public/js/main.js
и можно включить в макет темы:
<!DOCTYPE html>
<html lang="<%= page.locale %>">
<head>
<script src="/js/main.js" defer></script>
</head>
<body>
...