【问题标题】:Uncaught SyntaxError: Unexpected identifier | Trying to import a module but I get this error未捕获的 SyntaxError:意外的标识符 |尝试导入模块,但出现此错误
【发布时间】:2019-07-10 20:48:06
【问题描述】:

我目前正在学习如何制作一个 javascript 游戏。我正在使用视频:https://www.youtube.com/watch?v=3EMxBkqC4z0&t=319s

当我尝试导入 paddle.js 文件时,控制台输出 game.js:1 Uncaught SyntaxError: Unexpected identifier

请注意,我是 JavaScript 的初学者。

我将文件路径更改为“paddle”,将完整文件路径更改为“Desktop/JS-Game/paddle.js”。

我还仔细检查了 paddle.js 中的所有代码。

game.js

import Paddle from 'paddle';

let canvas = document.getElementById("canvas");

let ctx = canvas.getContext('2d');

const GAME_WIDTH = 800;
const GAME_HEIGHT = 600;

ctx.clearRect(0 ,0 , 800, 600);

let paddle = new Paddle(GAME_WIDTH, GAME_HEIGHT);

paddle.draw(ctx);

paddle.js

export default class Paddle {

    constructor(gameWidth, gameHeight) {

        this.width = 150;
        this.height= 20;

        this.position = {

            x: gameWidth / 2 - this.width / 2,

            y: gameHeight - this.height - 10
        };
    }

    draw(ctx) {

        ctx.fillStyle = '#FF2'

        ctx.fillRect(this.position.x, this.position.y, this.width, this.height);
    }
}

我希望矩形可以绘制到画布上,但没有绘制任何内容。

【问题讨论】:

  • 为什么这个标签是node.js?在我看来,这很像一个浏览器应用程序。
  • 我不确定是否使用了 node.js,因为我必须下载它来调试它。
  • 您是如何使用 node.js 进行调试的?当您遇到错误时,您究竟对这些文件做了什么?
  • 如果 paddle.js 文件与 game.js 在同一个文件夹中,你可以像 import Paddle from './paddle' 一样导入它,假设这是 ES6
  • 我试图做 ./paddle 但这也没有用。我使用 Visual Studio Code 进行调试,我不得不使用 node.js 来使用调试器。

标签: javascript


【解决方案1】:

查看文件地址,两个文件是否在同一级别?

如果您正在编辑代码,请尝试清除浏览器缓存..

【讨论】:

  • 我确实检查过,它们在同一个文件夹中。我还清除了浏览器缓存。
【解决方案2】:

如果您确定所有这些文件都在当前工作目录的根目录下,请尝试如下导入 paddle.js。

从'/paddle'导入桨;

否则 import Paddle from '/把paddle.js文件的路径放到这里/paddle';

【讨论】:

  • 我不认为桨的路径是问题。我很确定控制台引用的错误与“import Paddle”部分有关。
猜你喜欢
  • 1970-01-01
  • 2018-12-06
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 2018-08-19
相关资源
最近更新 更多