html中 引入js模块后提示找不到export的对象?
//a.js
let Bank={
name:"ll"
}
export default Bank;
//index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>abc</div>
<script type="module" src="a.js">
//忽略以下代码
console.log(Bank)
alert("abc")
</script>
<script>
//正常执行
alert("cd")
//报错,提示找不到Bank
console.log(Bank)
</script>
</body>
</html>
代码比较简单。index.html 中 有两个script,第一个script是 模块化引入a.js第二个script是输出Bank变量。
问题:(1)第一段script ,script标签中的代码不会执行难,也就是不会alert abc .为什么?
(2)第二段script ,console.log(Bank)提示找不到bank, Bank不是引入了么?
回复
1个回答
test
2024-06-28
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>abc</div>
<script type="module" src="a.js"></script>
<script type="module">
// 导入Bank对象
import Bank from './a.js';
console.log(Bank);
alert("abc");
</script>
<script>
// 正常执行
alert("cd");
// 这里会报错,因为Bank在这个作用域里是不可见的
// console.log(Bank);
</script>
</body>
</html>
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容