我的 javascript 前端代码中有一些奇怪的行为,所以我要问一个回归基础的问题。首先,我将设置一些示例。
script1.js
var script1Var = "script variable";
function script1Test(){
console.log("hello from script1 test");
}
script2.js
function script2Test(){
console.log("hello from script2 test");
}
模块1.js
export default function module1Test(){
console.log("hello from module1 test");
}
模块2.js
export default function module2Test(){
console.log("hello from module2 test");
}
test_page1.html
<html>
<head>
<script src="script1.js"></script>
<script src="script2.js"></script>
</head>
</html>
test_page2.html
<html>
<head>
<script type="module" src="module1.js"></script>
<script type="module" src="module2.js"></script>
<script src="script1.js"></script>
<script src="script2.js"></script>
</head>
</html>
以下是我的问题:
- 在运行时,由于
test_page1.html
布局方式,我认为script2.js
可以在script1.js
不需要任何导入 的情况下script1.js
调用函数,但可以在script2.js
? 基本上顺序重要吗?我很肯定它确实如此。 test_page2.html
函数从和module1.js
可module2.js
见到script1.js
和script2.js
?如果不是,如何使它们对他们可见?- 在不使用导入的情况下,
test_page2.html
函数是否从module1.js
可见到?module2.js
基本上我的问题归结为,如何在模块中使用经典脚本(其中没有导出)?以及如何在经典脚本中使用模块。将经典脚本转换为模块在这里不是一个选项,因为有很多代码依赖于将其用作经典脚本。模块也是如此,它们不能转换为经典脚本,因为有其他代码将它们用作模块。
谢谢您的帮助