Module import or export statement unexpected here

对着背影说爱祢 提交于 2019-12-02 08:43:13

问题


I have problem with importing JS scripts from code. I have a canvas game, and want to import my classes rather than define they in HTML. But when I run my code in Edge, it throws me an error.

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");
}

I have following folder structure:

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

回答1:


Solved! The problem was in HTML script declaration:

I used this code:

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

But I don't knew, that I need to specify type attribute, with code below import works excellent!

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

UPD: variables just are file-scoped, to use in another file export variables:

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

and then in your file

import {myVar} from "<file>";


来源:https://stackoverflow.com/questions/48585131/module-import-or-export-statement-unexpected-here

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!