我可以在JavaScript中全局使用导入的函数和类吗?
我想从html头文件中的所有类切换到模块方法 我想在按钮和其他元素上使用一些方法和函数 在标题部分的my index.html中:我可以在JavaScript中全局使用导入的函数和类吗?,javascript,import,export,Javascript,Import,Export,我想从html头文件中的所有类切换到模块方法 我想在按钮和其他元素上使用一些方法和函数 在标题部分的my index.html中: <script src="js/main.js" type="module" defer></script> 在test.js中: export function writeAlert () { alert('I am an alert'); } 在index.html的body元素中 <button onlick="wri
<script src="js/main.js" type="module" defer></script>
在test.js中:
export function writeAlert () {
alert('I am an alert');
}
在index.html的body元素中
<button onlick="writeAlert()">Alert</button>
我得到的错误消息是,函数或在其他情况下,类没有定义。那么,实现导入函数的全局使用的方法是什么呢?客户机真的能够通过这种方法看到我的全部源代码吗?在模块中导入的标识符在外部是不可见的 按照个人偏好的顺序,有两种解决方案: 将回调安装从HTML移动到JS: 将按钮定义更改为:警报 将以下代码添加到main.js或导入writeAlert的其他模块: 将writeAlert导出到其中一个模块中的窗口:
import { writeAlert } from "./test.js";
window.writeAlert = writeAlert;
通过这种方式,WriteAllert可以在代码中的任何地方(HTML或JS)访问,而无需任何导入。但这与使用进口商品的初衷背道而驰,也没有那么优雅。
模块中导入的标识符在外部不可见 按照个人偏好的顺序,有两种解决方案: 将回调安装从HTML移动到JS: 将按钮定义更改为:警报 将以下代码添加到main.js或导入writeAlert的其他模块: 将writeAlert导出到其中一个模块中的窗口:
import { writeAlert } from "./test.js";
window.writeAlert = writeAlert;
通过这种方式,WriteAllert可以在代码中的任何地方(HTML或JS)访问,而无需任何导入。但这与使用进口商品的初衷背道而驰,也没有那么优雅。
这是一个不完整的答案。但是,同样的想法可以进一步扩展 在main.js中:
import {writeAlert} from './test.js';
window.writeAlert = writeAlert;
之后,可以从HTML文件访问“writeAlert” 这是一个不完整的答案。但是,同样的想法可以进一步扩展 在main.js中:
import {writeAlert} from './test.js';
window.writeAlert = writeAlert;
之后,可以从HTML文件访问“writeAlert”