var MyNamespace = MyNamespace || {};
MyNamespace.Module1 = (function() {
function privateFunction() {
console.log("Это приватная функция из Module1");
}
return {
publicFunction: function() {
console.log("Это публичная функция из Module1");
privateFunction();
}
};
})();
var MyNamespace = MyNamespace || {};
MyNamespace.Module2 = (function() {
return {
publicFunction: function() {
console.log("Это публичная функция из Module2");
}
};
})();
// script.js
// Функция для загрузки модулей
async function loadModules() {
await import('./module1.js'); // Импортируем module1.js
await import('./module2.js'); // Импортируем module2.js
// Теперь мы можем использовать функции из модулей
MyNamespace.Module1.publicFunction();
MyNamespace.Module2.publicFunction();
}
// Вызываем функцию загрузки модулей
loadModules();
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Подключение JS файлов</title>
</head>
<body>
<script type="module" src="script.js"></script> <!-- Обратите внимание на type="module" -->
</body>
</html>