【发布时间】:2017-06-03 00:29:35
【问题描述】:
我是ES6(ECMAScript 6)的新手,我想在浏览器中使用它的模块系统。我读到 ES6 受 Firefox 和 Chrome 支持,但使用 export 时出现以下错误
Uncaught SyntaxError: Unexpected token import
我有一个 test.html 文件
<html>
<script src="test.js"></script>
<body>
</body>
</html>
还有一个 test.js 文件
'use strict';
class Test {
static hello() {
console.log("hello world");
}
}
export Test;
为什么?
【问题讨论】:
-
ES6 modules 在浏览器中尚不支持。此外,您仍在加载脚本,而不是模块。
-
我还是不明白脚本和模块的区别
-
见here
-
我注意到的重要部分是
<script type="module"></script>确保添加它,否则您将收到该错误。我一直在不停地做<script>import ... </script>,知道现在据说chrome支持没有标志的ES6模块,然后我注意到需要type属性来向浏览器指定这是一个ES6模块,没有它你得到那个确切的错误。 -
我使用的是 Chrome 68,当我们使用 import * from 时我仍然看到这个错误
标签: javascript html ecmascript-6 module es6-modules