Javascript(导入)类未定义,ReferenceError

时间:2018-02-09 01:41:40

标签: javascript node.js oop webpack babeljs

我再次需要建议,在我的项目中,我使用NodeJS,Webpack和babel-loader,我将它分成不同的文件。

我一直收到错误:

ReferenceError: PlayerManager is not defined

PlayerManager是我在主文件中导入的类:

import PlayerManager from './game/modules/PlayerManager';
import Player from './game/modules/Player';
import Game from './game/modules/Game';

如果我在firefox的调试器中检查我的编译代码,这是奇怪的原因,这些类都在我的bundle文件中。

这是触发此错误的代码行:

this.playerManager = new PlayerManager(this.ctx);

这是我之前导入的Class文件的构造函数(见上文)

export default class Game {
    constructor() {
        this.canvas = document.getElementById("gameCanvas");
        this.ctx = this.canvas.getContext("2d");
        this.w = window.innerWidth;
        this.h = window.innerHeight;
        this.frames = 60; 
        this.resize();
        this.players = {};
        this.playerManager = new PlayerManager(this.ctx);
        ....
        ....

现在我调用new Game()并触发错误...

什么可能导致错误?

在另一个构造函数中使用new Class是错误的吗?

1 个答案:

答案 0 :(得分:1)

导入仅在该特定文件中可用。

您需要将PlayerManager导入到定义了Game类的文件中。