代码之家  ›  专栏  ›  技术社区  ›  john c. j.

ES6导出时出现意外标记

  •  1
  • john c. j.  · 技术社区  · 7 年前

    我在试着了解ES6导出是如何工作的。

    以下是两个本地文件:

    MIN :

    <script src="module.js"></script>
    <script>
        import {hello} from './module'; // Tried both "module" and "module.js"
        let val = hello();
        alert(val);
    </script>
    

    模块JS :

    export function hello() {
        return 'Hello';
    }
    

    预期结果:包含“hello”文本的警报。实际结果:错误:

    module.js-第1行:意外的标记 export

    main.html-第3行:意外的标记 {

    如何让它工作?

    PS。铬67测试。

    1 回复  |  直到 7 年前
        1
  •  3
  •   raina77ow    7 年前

    完全支持javascript模块已经添加到chrome中 since version 61 . 这是你在博士论文中忽略的重要部分:

    模块最终必须包含在HTML中 type=“模块” , 它可以显示为内联或外部脚本标记。

    你不必使用第一个脚本; import 将引导浏览器下载所需的模块。所以这应该足够了:

    <script type="module">
        import {hello} from './module.js';
        let val = hello();
        alert(val);
    </script>
    

    但是,有一个警告:您将无法直接在chrome中从文件系统提供模块-您需要设置一个“常规”http服务器或应用 this thread .