javascript - 我无法修复 "Uncaught SyntaxError: Cannot use import statement outside a module"的问题

标签 javascript ecmascript-6

这个问题在这里已经有了答案:





ES6 modules in the browser: Uncaught SyntaxError: Unexpected token import

(5 个回答)


2年前关闭。




我在一个文件夹中有“三个”文件
1. 索引 .html
2. 索引 .js
3. helper .js

我想从 helper.js 导出代码并将代码导入 index.js (我已经将 index.js 链接到 index.html )。

我确实喜欢
index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

    <button id="btn">click</button>


    <script src="./index.js"></script>
</body>
</html>


index.js
import btn from './helper'

btn.addEventListener('click', function () {
    window.alert('i am clicked')
})


最后是 helper.js
export let btn = document.getElementById('btn')


然后我运行 index.html chrome浏览器中的文件。

Chrome 浏览器在控制台中显示此消息。

未捕获的语法错误:无法在模块外使用 import 语句

请告诉我该如何解决这个问题。我在 google 和 youtube 上搜索,我做了他们展示的同样的事情。结果,浏览器显示该消息。

最佳答案

您需要在模块中包含导入:

尝试这个:

<script type="module">
   import btn from './helper'
</script>

引用:ES Modules in Browsers

关于javascript - 我无法修复 "Uncaught SyntaxError: Cannot use import statement outside a module"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58206020/

相关文章:

javascript - 调用 setState() 改变集合时,是否可以在 React 中返回一个空对象?

javascript - 如何按时间戳对javascript对象进行反向排序

通过 Object.create 从原始值继承 JavaScript 对象

javascript - Jquery Div 元素隐藏

javascript - 为什么在使用 Google Closure 模拟时需要同时调用 replayAll 和 verifyAll?

javascript - 如何将禁用的选项 DOM 元素切换为启用?

mongodb - meteor react : in constructor collection is empty

javascript - 如何从 DOM 中删除数组的选定索引并反射(reflect) React 状态的变化?

node.js - 汇总后 crypto.createHmac 未定义

javascript - 为什么即使在 Prop 对象更改后功能组件也不会重新渲染?