为什么原生的import等模块语法要在服务器环境下才能运行?
同样的代码,直接在控制台试就报错,在服务器环境下才行。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
</body>
<script type='module'>
import {a} from './test.js'
console.log(a) // {a: 123 }
</script>
</html>
//test.js
var a = 0
export {a}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你需要搞明白
http://
,file://
两个协议头的区别,以及CORS
因为浏览器已经在控制台告诉了你。这个import是node模拟的js语法,浏览器没有这个语法
现代浏览器支持,参考现代脚本的加载和JavaScript modules 模块.
ES6模块是JavaScript标准,理论上应该所有运行环境都‘应该’支持
因为浏览器不允许你用js操作电脑本地文件...这是很危险的行为...