【发布时间】:2021-11-08 18:07:10
【问题描述】:
我正在努力使用 javascript 模块...
我有一个 html 文件和一个 JS 模块。我在 javascript 文件中定义了一个函数,我想从我的 HTML 页面调用该函数。 这是我的代码
index.html
<html>
<head>
<script type="module" src="app.js"></script>
</head>
<body>
<button onclick="greetFromHtml();">greetFromHtml</button>
<button onclick="greetFromModule()"> greetFromModule</button>
<script type="text/javascript">
function greetFromHtml(){
alert('Hello');
}
</script>
</body>
</html>
app.js
function greet(){
alert('Hello');
}
greetFromHtml 按钮工作正常。当我单击 greetFromModule 按钮时,我收到此错误:hello is not defined at HTMLButtonElement.onclick
如果我从标题中删除type="module",一切正常,但是由于其他原因我需要使用模块,所以这不是一个好的解决方案。
我看到一些帖子说我需要导入/导出或使用窗口,但我不知道该怎么做。请问有人可以提供答案吗?理想情况下,实现它的最简单方法
请参阅下面对我审查过的一些问题的参考:
function in my javascript module is not defined
Call functions in a JavaScript from an HTML
How to use code from script with type=module [duplicate]
ES6 Modules: Undefined onclick function after import
编辑 2 答案中的代码正在运行。我只是想在本地运行,但我知道您需要一台服务器,所以如果您看到同样的错误,请将站点上传到服务器或使用本地服务器。
【问题讨论】:
标签: javascript html