【问题标题】:Module import or export statement unexpected here模块导入或导出语句在此处意外
【发布时间】:2018-02-02 14:46:58
【问题描述】:

我在从代码中导入 JS 脚本时遇到问题。我有一个canvas 游戏,并且想要导入我的类而不是在 HTML 中定义它们。但是当我在 Edge 中运行我的代码时,它会抛出一个错误。

init.js

import {Tram} from "./tram/tram"

var body;
var curScreen = "menu";
var canvas = document.createElement("canvas");
canvas.width = 1920;
canvas.height = 1080;
var ctx = canvas.getContext("2d");
var tex = {};
var corrHeight = 
loadTextures();

window.onload = function () {
    body = document.body;
    body.appendChild(canvas);

    window.onclick = function () {
        if (body.requestFullscreen) {
            body.requestFullscreen();
        }
        else if (body.msRequestFullscreen) {
            body.msRequestFullscreen();
        }
        else if (body.mozRequestFullScreen) {
            body.mozRequestFullScreen();
        }
        else if (body.webkitRequestFullscreen) {
            body.webkitRequestFullscreen();
        }
    };

    mainLoop();
};

function updateCanvasRect() {
    canvas.width = brect.width;
    canvas.height = brect.height;
    var prop = 16 / 9;
    tex.sky.img.height = brect.height;
    tex.sky.img.width = brect.height * prop;
    tex.sky.patt = ctx.createPattern(tex.sky.img, "repeat-x");
}

function loadTextures() {
    tex.sky = importTexture("base/sky");
}

我有以下文件夹结构:

  ts2d/
    img/
      ...
    base/
      ...
      tram/
        tram.js
        ...
      init.js
      load.js
    main.js
    index.html

【问题讨论】:

  • Edge 的哪个版本?
  • 16,带 exp。功能启用
  • 您可以提供更多上下文吗?这里真的没什么可做的。例如您可以发布完整的错误消息/堆栈跟踪吗?您在init.js 中列出的行是错误的来源吗?
  • @Hunter McMillen 我只是在第 1 行(我导入我的课程)上遇到此错误SCRIPT1086: SCRIPT1086: Module import or export statement unexpected here
  • 其他导入是否有效?尝试在导入语句中添加.js 后缀

标签: javascript import microsoft-edge


【解决方案1】:

解决了!问题出在 HTML 脚本声明中:

我使用了这个代码:

<script src="base/init.js"></script>

但我不知道,我需要指定type 属性,import 下面的代码效果很好!

<script src="base/init.js" type="module"></script>

UPD:变量只是文件范围的,在另一个文件中使用导出变量:

var myVar = "string";
export {myVar};

然后在你的文件中

import {myVar} from "<file>";

【讨论】:

  • 我尝试添加 type="module" 但现在我的脚本不会再触发了。
猜你喜欢
  • 2020-07-18
  • 1970-01-01
  • 2022-11-13
  • 2021-12-28
  • 2021-05-29
  • 2020-03-21
  • 2021-10-25
  • 2021-09-19
  • 2017-09-08
相关资源
最近更新 更多