实机运行时引用报错

版本3.8 平台web-desktop
在引擎中运行正常,但是打包成web包报错,打包成windows包卡死
报错


这段代码为了实现单例所以必须要引用
以下是被引用的代码
import { Label } from ‘cc’;

import { _decorator, Component, Node } from ‘cc’;

import { ShowLabel } from ‘./ShowLabel’;

const { ccclass, property } = _decorator;

export var CanvasManagerInstace;

@ccclass(‘CanvasManager’)

export class CanvasManager extends Component {

@property(Node)

public LabelNode:Node;

start() {

    CanvasManagerInstace = this;

}

public beginLabel(Msg:string,onEnd:Function,self){

    console.log("beginLabel Msg:"+Msg);

    this.LabelNode.getComponent(Label).string = Msg;

    this.LabelNode.getComponent(ShowLabel).BeginShow(onEnd,self);

}

update(deltaTime: number) {

   

}

}
以下是引用的代码
import { CanvasManager, CanvasManagerInstace } from ‘…/UI/CanvasManager’;

import { ITask } from ‘./stage-interface’;

import {TurnStage} from ‘…/Data/TurnStage’

export class ShowTurnStageTask implements ITask {

private doing:boolean=false;

private finish:boolean=false;

private _message;

Message():string{

    return this._message;

}

onAnimEnd():void{

    this.finish=true;

}

doIt():void{

    this.doing = true;

    CanvasManagerInstace.beginLabel(this.Message(),this.onAnimEnd,this);

}

get isDoing(){

    return this.doing;

}

get isFinish(){

    return this.finish;

}

constructor(stage:TurnStage,player){

    console.log("stage:"+stage);

    switch(stage){

        case TurnStage.TurnBegin:

            this._message = "回合开始";

            break;

        case TurnStage.Draw:  

            this._message = "抽牌阶段";

            break;

        case TurnStage.ActionBegin:

            this._message = "行动阶段开始";

            break;

        case TurnStage.ActionEnd:

            this._message = "行动阶段结束";

            break;

        case TurnStage.DisCard:

            this._message = "弃牌阶段";  

            break;

        case TurnStage.TurnEnd:

            this._message = "回合结束";

            break;

        default:

            this._message = "错误的stage:"+stage;

            break;

    }

    //console.log("ShowTurnStageTask _message:"+this._message);

}

}
不知道是不是我哪里写错了,但是在编辑器中运行没有问题,所以应该不是语法问题,如果哪里有问题的话请指出,谢谢各位

我找到表面原因了,但我不明白为什么
原因是CanvasManager和ShowTurnStageTask 不在同个文件夹内,CanvasManager位于UI,ShowTurnStageTask 位于Stage,把CanvasManager转移到Stage后这个问题就没有发生了,所以在web实机环境下,不同文件夹会被独立编译?然后没编译好触发了跨域异常?就离谱