Я пытаюсь выполнить довольно простую вещь: у меня есть некоторый код в файле модуля javascript, и я импортирую его в другой файл javascript (который ничего не экспортирует), и я хочу вызвать некоторые из определенных функций в этомфайл из HTML-кода напрямую.
Давайте рассмотрим некоторый репрезентативный и минимальный пример того, что со мной происходит (фактически протестировал код и дает точно такую же проблему, с которой я сталкиваюсь с реальным, что на самом деле не намного больше).сложнее, чем этот):
module.js
:
const mod = () => 'Hello there!';
export { mod };
main.js
:
import { mod } from './module.js';
function hello()
{
console.log(mod());
}
main.html
:
<!DOCTYPE html>
<html>
<head>
<script type="module" src="module.js"></script>
<script type="module" src="main.js"></script>
</head>
<body>
<button name="next-button" onclick="hello()">Obi-Wan abandons the high ground to salute you</button>
</body>
</html>
Без import
(и помещением всех определений функций в один файл .js
) я могу вызвать функциюпрямо из HTML.Однако, как только я представил модули, которые я больше не в состоянии: он просто говорит, что функция «hello ()» не определена.
Я совершенно новичок в модулях ES6 (и в интерфейсном javascriptна самом деле), так что я полностью осознаю, что все, что я только что сказал, это просто недостаток знаний (или понимания), но я был бы признателен за любые комментарии о том, что я делаю неправильно, и о том, как ее решить, чтобы я мог хранить свой код в разных файлах ибыть в состоянии использовать это.Спасибо всем заранее!