Lyn*_*ner 6 javascript import google-chrome module ecmascript-6
我正在尝试在 Chrome 中使用 ES6 模块。从我看过的所有示例来看,以下似乎是正确的方法,但是当我在 Chrome 的开发人员工具中运行它时,我收到此错误消息...
未捕获的语法错误:意外的标记{
...突出显示模块(script1.js,如下)中尝试导入模块的导入语句。我见过很多类似问题的参考,但没有一个解决这种情况的建议对我有用。如果您能看到我做错了什么,我非常感谢您的帮助......
这是 HTML...
<html>
<head>
<script src="lib1.js" type="module"></script>
<script src="script1.js"></script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是模块(lib1.js)...
export function doSomething() {
alert("in module lib1");
}
Run Code Online (Sandbox Code Playgroud)
这是尝试导入模块的脚本(script1.js)...
import { doSomething } from "lib1.js";
doSomething();
Run Code Online (Sandbox Code Playgroud)
编辑: 经过大约一个小时的挠头并发现我的答案(预编辑)被否决后,我得到了这个:
库.js:
function doSomething() {
console.log('in module lib');
}
export {doSomething};
Run Code Online (Sandbox Code Playgroud)
脚本.js:
import { doSomething } from './lib.js';
doSomething();
Run Code Online (Sandbox Code Playgroud)
索引.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="module" src="script.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
lib.js、script.js、 和index.html位于同一目录中。
我添加.js了,import { doSomething } from './lib.js';因为否则它不起作用。根据Mozilla 的说法,某些捆绑商可能允许或要求使用module-name.
但这仅适用于 Firefox Quantum(版本 62.0.3)。我在 Chrome 上启用了实验性 JavaScript(版本 70.0.3538.77):
chrome://flags/#enable-javascript-harmony
没有成功的迹象,但考虑到这在 Firefox 上有效,并且 这个兼容性表显示 Chrome 和 Firefox 处于相同的兼容性级别,这让我更加困惑,所以我可能最终会问一个关于整个事情的问题。
| 归档时间: |
|
| 查看次数: |
5610 次 |
| 最近记录: |