代码之家  ›  专栏  ›  技术社区  ›  naftalimich

javascript模块导入时出现的神秘错误消息

  •  0
  • naftalimich  · 技术社区  · 6 年前

    应用程序的起点是main.html

    在main.html中,我通过一个标记引入index.js。

    在index.js中,我从pade.js导入了一个pade类

    所有3个文件都在同一目录中

    如果我从pade.js复制pade类(它在main.html画布底部的矩形上绘制),并将其粘贴到index.js中…它很好用。

    但是,从桨模块导入桨类不会在屏幕中产生任何结果,对我来说,chrome javascript控制台中的语法错误很神秘: “import pade from”/“pade”;未捕获的语法错误,意外的标识符”

    代码:

    main.html——在标记的底部

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

    索引文件

    import Paddle from "/paddle";
    
    let canvas = document.getElementById("gameScreen");
    
    ...
    

    船桨

    export default class Paddle {...}
    

    我使用的是Chrome70,但它在firefox3上也失败了(据说两者都支持现成的模块)

    我在搜索整个谷歌,并将语法与文档进行匹配,但看不到有任何问题。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Nurbol Alpysbayev    6 年前

    你能试试这个吗?如果不管用的话告诉我

    <script type="module" src="index.js"> </script>
    
        2
  •  0
  •   naftalimich    6 年前

    要从嵌入脚本中导入,必须将attribute=“module”添加到嵌入脚本的标记中。 MDN .

    静态导入语句用于导入以下绑定: 由另一个模块导出。导入的模块处于严格模式 不管你是否声明它们。import语句不能 在嵌入脚本中使用,除非此类脚本具有type=“module”。

    还有一个类似dynamic import()的函数,它不需要 type=“module”的脚本。