编译出错 无法从GameOverComp.js 解析出模块 __unresolved_6。

  • Creator 版本:3.3.0

  • 目标平台: google

  • 重现方式:必现

  • 编辑器操作系统: mac

  • 首个报错:

vconsole.min.js:10 Error: Unable to resolve bare specifier '__unresolved_6' from http://localhost:7456/scripting/x/mods/fs/0/assets/Script/majiang/GameOverComp.js (SystemJS Error#8 https://git.io/JvFET#8)
    at throwUnresolved (resolve.js:12)
    at SystemJS.systemJSPrototype.resolve (resolve.js:8)
    at SystemJS.systemJSPrototype.resolve (named-register.js:45)
    at system-core.js:145
    at Array.map (<anonymous>)
    at system-core.js:143
  • GameOverComp.js
System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4", "__unresolved_5", "__unresolved_6"], function (_export, _context) {
  "use strict";

  var _reporterNs, _cclegacy, _decorator, UIView, EnumViewID, GameOverUserComp, EventManager, CustomizeMessage, CompUtil, _dec, _class, _crd, ccclass, property, GameOverComp;

  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

  function _reportPossibleCrUseOfUIView(extras) {
    _reporterNs.report("UIView", "../ui/UIView", _context.meta, extras);
  }

  function _reportPossibleCrUseOfEnumViewID(extras) {
    _reporterNs.report("EnumViewID", "./EnumViewID", _context.meta, extras);
  }

  function _reportPossibleCrUseOfGameOverUserComp(extras) {
    _reporterNs.report("GameOverUserComp", "./game/GameOverUserComp", _context.meta, extras);
  }

  function _reportPossibleCrUseOfEventManager(extras) {
    _reporterNs.report("EventManager", "../common/EventManager", _context.meta, extras);
  }

  function _reportPossibleCrUseOfCustomizeMessage(extras) {
    _reporterNs.report("CustomizeMessage", "./common/CustomizeMessage", _context.meta, extras);
  }

  function _reportPossibleCrUseOfCompUtil(extras) {
    _reporterNs.report("CompUtil", "../common/CompUtil", _context.meta, extras);
  }

  return {
    setters: [function (_unresolved_) {
      _reporterNs = _unresolved_;
    }, function (_cc) {
      _cclegacy = _cc.cclegacy;
      _decorator = _cc._decorator;
    }, function (_unresolved_2) {
      UIView = _unresolved_2.UIView;
    }, function (_unresolved_3) {
      EnumViewID = _unresolved_3.EnumViewID;
    }, function (_unresolved_4) {
      GameOverUserComp = _unresolved_4.GameOverUserComp;
    }, function (_unresolved_5) {
      EventManager = _unresolved_5.EventManager;
    }, function (_unresolved_6) {
      CustomizeMessage = _unresolved_6.CustomizeMessage;
    }, function (_unresolved_7) {
      CompUtil = _unresolved_7.CompUtil;
    }],
    execute: function () {
      _crd = true;

      _cclegacy._RF.push({}, "6e4077EeTZOAZTYEilbCntF", "GameOverComp", undefined);

      ccclass = _decorator.ccclass;
      property = _decorator.property;
      /**
       * Predefined variables
       * Name = GameOverComp
       * DateTime = Fri Sep 17 2021 09:55:19 GMT+0800 (中国标准时间)
       * Author = yuanxiuqiang
       * FileBasename = GameOverComp.ts
       * FileBasenameNoExtension = GameOverComp
       * URL = db://assets/Script/majiang/GameOverComp.ts
       * ManualUrl = https://docs.cocos.com/creator/3.3/manual/zh/
       *
       */

      _export("GameOverComp", GameOverComp = (_dec = ccclass('GameOverComp'), _dec(_class = /*#__PURE__*/function (_ref) {
        _inheritsLoose(GameOverComp, _ref);

        function GameOverComp() {
          return _ref.apply(this, arguments) || this;
        }

        var _proto = GameOverComp.prototype;

        _proto.init = function init() {
          this.UIid = (_crd && EnumViewID === void 0 ? (_reportPossibleCrUseOfEnumViewID({
            error: Error()
          }), EnumViewID) : EnumViewID).gameOver;
        };

        _proto.onLoad = function onLoad() {
          (_crd && CompUtil === void 0 ? (_reportPossibleCrUseOfCompUtil({
            error: Error()
          }), CompUtil) : CompUtil).uiFullScreen(this.node);
        };

        _proto.shareHander = function shareHander() {};

        _proto.toLobbyHandler = function toLobbyHandler() {
          //   this.close();
          (_crd && EventManager === void 0 ? (_reportPossibleCrUseOfEventManager({
            error: Error()
          }), EventManager) : EventManager).getInstance().dispatchEvent((_crd && CustomizeMessage === void 0 ? (_reportPossibleCrUseOfCustomizeMessage({
            error: Error()
          }), CustomizeMessage) : CustomizeMessage).TO_LOBBY_SCENE);
        };

        _proto.onOpen = function onOpen(fromUI) {
          var msg = arguments.length <= 1 ? undefined : arguments[1];
          var playerList = msg.playerResult;
          var playerNum = playerList.length;
          var rank = 0;
          var playerData = null;
          var playerNode = null;
          playerList.sort(this.sortByCoin);

          for (var i = 0; i < playerNum; i++) {
            var _playerNode$getCompon;

            playerData = playerList[i];

            if (i == 0) {
              rank = 1;
            } else {
              if (playerData.gameCoin < playerList[i - 1].gameCoin) {
                rank++;
              }
            }

            playerNode = this.node.getChildByName("user" + i);
            (_playerNode$getCompon = playerNode.getComponent(_crd && GameOverUserComp === void 0 ? (_reportPossibleCrUseOfGameOverUserComp({
              error: Error()
            }), GameOverUserComp) : GameOverUserComp)) === null || _playerNode$getCompon === void 0 ? void 0 : _playerNode$getCompon.setData(playerData, rank);
          }
        };

        _proto.sortByCoin = function sortByCoin(a, b) {
          return -(a.gameCoin - b.gameCoin);
        };

        return GameOverComp;
      }(_crd && UIView === void 0 ? (_reportPossibleCrUseOfUIView({
        error: Error()
      }), UIView) : UIView)) || _class));
      /**
       * [1] Class member could be defined like this.
       * [2] Use `property` decorator if your want the member to be serializable.
       * [3] Your initialization goes here.
       * [4] Your update function goes here.
       *
       * Learn more about scripting: https://docs.cocos.com/creator/3.3/manual/zh/scripting/
       * Learn more about CCClass: https://docs.cocos.com/creator/3.3/manual/zh/scripting/ccclass.html
       * Learn more about life-cycle callbacks: https://docs.cocos.com/creator/3.3/manual/zh/scripting/life-cycle-callbacks.html
       */


      _cclegacy._RF.pop();

      _crd = false;
    }
  };
});
//# sourceMappingURL=GameOverComp.js.map
```

* cocos creator 编辑器报错

[Scene] 无法从 pack:///mods/fs/0/assets/Script/majiang/GameOverComp.js 解析出模块 __unresolved_6。

大佬们都看一下

.ts 怎么写的

ts代码


import { _decorator, Component, Node } from 'cc';
import { UIView } from '../ui/UIView';
import { EnumViewID } from './EnumViewID';
import { GameOverUserComp } from './game/GameOverUserComp';
import { EventManager } from '../common/EventManager';

import { GameMessage } from '../common/GameMessage';
import { CustomizeMessage } from './common/CustomizeMessage';
import { CompUtil } from '../common/CompUtil';
const { ccclass, property } = _decorator;

@ccclass('GameOverComp')
export class GameOverComp extends UIView {
    public init(...args: any): void {
        this.UIid = EnumViewID.gameOver;
    }
    onLoad() {
        CompUtil.uiFullScreen(this.node);  
    }
    public shareHander(): void {

    }
    public toLobbyHandler(): void {
       this.close();
        EventManager.getInstance().dispatchEvent(CustomizeMessage.TO_LOBBY_SCENE);
    }
    public onOpen(fromUI: number, ...args: any): void {
        let msg: proto.RankResult = args[0];
        let playerList: proto.RankResultPlayer[] = msg.playerResult;
        let playerNum: number = playerList.length;
        let rank: number = 0;
        let playerData: proto.RankResultPlayer = null!;
        let playerNode: Node = null!;
        playerList.sort(this.sortByCoin);
        for (let i: number = 0; i < playerNum; i++) {
            playerData = playerList[i];
            if (i == 0) {
                rank = 1;
            }
            else {
                if (playerData.gameCoin < playerList[i - 1].gameCoin) {
                    rank++;
                }
            }
            playerNode = this.node.getChildByName(`user${i}`)!;
            playerNode.getComponent(GameOverUserComp)?.setData(playerData, rank);
        }
    }
    private sortByCoin(a: proto.RankResultPlayer, b: proto.RankResultPlayer): number {
        return -(a.gameCoin - b.gameCoin);
    }
}

import { _decorator, Component, Node } from ‘cc’;
import { UIView } from ‘…/ui/UIView’;
import { EnumViewID } from ‘./EnumViewID’;
import { GameOverUserComp } from ‘./game/GameOverUserComp’;
import { EventManager } from ‘…/common/EventManager’;

import { GameMessage } from ‘…/common/GameMessage’;
import { CustomizeMessage } from ‘./common/CustomizeMessage’;
import { CompUtil } from ‘…/common/CompUtil’;
const { ccclass, property } = _decorator;

@ccclass(‘GameOverComp’)
export class GameOverComp extends UIView {
public init(…args: any): void {
this.UIid = EnumViewID.gameOver;
}
onLoad() {
CompUtil.uiFullScreen(this.node);
}
public shareHander(): void {

}
public toLobbyHandler(): void {
   this.close();
    EventManager.getInstance().dispatchEvent(CustomizeMessage.TO_LOBBY_SCENE);
}
public onOpen(fromUI: number, ...args: any): void {
    let msg: proto.RankResult = args[0];
    let playerList: proto.RankResultPlayer[] = msg.playerResult;
    let playerNum: number = playerList.length;
    let rank: number = 0;
    let playerData: proto.RankResultPlayer = null!;
    let playerNode: Node = null!;
    playerList.sort(this.sortByCoin);
    for (let i: number = 0; i < playerNum; i++) {
        playerData = playerList[i];
        if (i == 0) {
            rank = 1;
        }
        else {
            if (playerData.gameCoin < playerList[i - 1].gameCoin) {
                rank++;
            }
        }
        playerNode = this.node.getChildByName(`user${i}`)!;
        playerNode.getComponent(GameOverUserComp)?.setData(playerData, rank);
    }
}
private sortByCoin(a: proto.RankResultPlayer, b: proto.RankResultPlayer): number {
    return -(a.gameCoin - b.gameCoin);
}

}

我尝试将ts脚本删掉, 重启creator编辑器后, 还是报这个错 :upside_down_face:

我也出现了这种问题,请问下你的弄好了吗?怎么弄好的?

你用的引擎版本是多少?

3.3.1,我重新删了项目,重新拉取仓库里的就好了。