[]laya的ide如何import js并调用里面的类和方法?VS Code正常。
// import {$root} from "../libs/protobuf/area.js";
// import ProtoArea = com.bee.protobuf.ProtoArea;
import com from "area";
这几种办法都不行。根本找不到里面的定义。按照官方文档的说法,.d.ts放在了libs下面。.js放在了bin/libs下面。
别的ide就正常,laya就不正常。
哪种是对的?在laya的ide里,
怎么才能import一个export的类或一个export的模块?
于是我就写了两个demo
我在VS Code里测了,发现可以正常,但LayaAir IDE不正常。
源码我上传了。
laya的是TestImport.rar
vscode的是vscode.rar
关键的几个文件都是相同的。index.html、tsconfig.json、以及两个类。为了测试方便,把Laya.init这句注释掉。
(另外我把laya的项目文件夹用vscode打开来编译运行,也可以正常,LayaAir IDE却不行。其差别最主要应该是在launch.json不同)
我发现有一点差异,下面这行
,而vscode里可以注释掉,还是正常。
用VS Code测试:
运行后一切正常:
而layaAir IDE,如果注释掉这一行,就一片空白,不会输出任何东西,
而加上这一行,运行后就会报下面的错:
// import ProtoArea = com.bee.protobuf.ProtoArea;
import com from "area";
这几种办法都不行。根本找不到里面的定义。按照官方文档的说法,.d.ts放在了libs下面。.js放在了bin/libs下面。
别的ide就正常,laya就不正常。
哪种是对的?在laya的ide里,
怎么才能import一个export的类或一个export的模块?
于是我就写了两个demo
我在VS Code里测了,发现可以正常,但LayaAir IDE不正常。
源码我上传了。
laya的是TestImport.rar
vscode的是vscode.rar
关键的几个文件都是相同的。index.html、tsconfig.json、以及两个类。为了测试方便,把Laya.init这句注释掉。
(另外我把laya的项目文件夹用vscode打开来编译运行,也可以正常,LayaAir IDE却不行。其差别最主要应该是在launch.json不同)
我发现有一点差异,下面这行
<script type="text/javascript" src="node_modules/requirejs/require.js"></script>
,而vscode里可以注释掉,还是正常。
用VS Code测试:
运行后一切正常:
而layaAir IDE,如果注释掉这一行,就一片空白,不会输出任何东西,
<script type="text/javascript" src="node_modules/requirejs/require.js"></script>
而加上这一行,运行后就会报下面的错:
Error: Mismatched anonymous define() module: function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const t = require("./test/TestExportClass");
// 程序入口
class GameMain {
constructor() {
// Laya.init(600,400);
console.log("start");
var exportCls = new t.TestExportCls();
exportCls.callFunc();
}
}
new GameMain();
}
http://requirejs.org/docs/errors.html#mismatch
at makeError (file:///E:/laya/TestImport/bin/node_modules/requirejs/require.js:168:17)
at intakeDefines (file:///E:/laya/TestImport/bin/node_modules/requirejs/require.js:1254:36)
at file:///E:/laya/TestImport/bin/node_modules/requirejs/require.js:1452:25
没有找到相关结果
已邀请:
要回复问题请先登录
13 个回复
Monica - 知识达人
赞同来自:
zengjoeng
赞同来自:
zengjoeng
赞同来自:
表现就是不同ide结果不一样,你要知道什么地方不一样直接告诉大家就是了。
就算不是引擎问题,这laya的ide不是你们封装过的?
zengjoeng
赞同来自:
Monica - 知识达人
赞同来自:
zengjoeng
赞同来自:
zengjoeng
赞同来自:
zengjoeng
赞同来自:
ying1247680740
赞同来自:
Monica - 知识达人
赞同来自:
之所以VSCode可以,是因为它的默认运行环境是node,而不是浏览器
附件中是使用ts的import和require写的示例,直接导入到LayaAirIDE编译运行即可
(针对这个问题,建议你先去详细的去看下ts以及requirejs的相关资料)
zengjoeng
赞同来自:
Monica - 知识达人
赞同来自:
zengjoeng
赞同来自: