Script 标签中的 export 报错
在 script 标签中使用 export 需要添加 type="module" 属性
问题
直接在 <script> 标签中写 export 为什么会报错?
解答
浏览器中的 <script> 标签默认加载的是普通脚本,不支持 ES6 模块语法(如 export、import)。如果要使用模块语法,必须显式声明为模块类型。
普通脚本(会报错)
<script>
export const name = 'test'; // ❌ 报错:Unexpected token 'export'
</script>
模块脚本(正确)
<script type="module">
export const name = 'test'; // ✅ 正常工作
</script>
引入外部文件
<!-- 普通脚本 -->
<script src="script.js"></script>
<!-- 模块脚本 -->
<script type="module" src="module.js"></script>
关键点
<script>标签默认加载普通脚本,不支持export/import语法- 使用 ES6 模块语法必须添加
type="module"属性 - 模块脚本默认是严格模式,且具有独立作用域
目录