[LayaAirIDE 2.0]LayaAirIDE 2.0 laya.wxmini.js 第3行报错! 创建3D项目(TypeScript),导出微信小游戏,选择了JS混淆,崩溃在 laya.wxmini.js 第3行,错误如下
LayaAirIDE 2.0 创建3D项目,导出微信小游戏,选择了JS混淆,崩溃在 laya.wxmini.js 第3行,
微信小游戏工具里看到的 laya.wxmini.js 前几行内容如下:
------------------------------------------
define("libs/laya.wxmini.js", function(require, module, exports, process){ "use strict";
window = window || global, window.layalib || (window.layalib = function (i, e) {
(window._layalibs || (window._layalibs = )).push({ f: i, i: e });
}), window.layalib(function (i, e, t) {
console 窗口报错如下:
------------------------------------------
WAGame.js:3 gameThirdScriptErrorCannot assign to read only property 'window' of object '#<Window>'
TypeError: Cannot assign to read only property 'window' of object '#<Window>'
athttp://127.0.0.1:34658/game/libs/laya.wxmini.js:3:8
毫无规律,有时创建一个3D空项目一个字不改,不会遇到这样问题。
然后再在 Main.ts 里面 class main 的 constructor 函数内末尾
加几句不痛不痒的如下的内容,再导出微信小游戏,就会报上面的错
if (Laya.Browser.onWeiXin) {
//微信内
console.log("Browser.onWeiXin");
//Laya.stage.scaleMode = Laya.Stage.SCALE_FIXED_AUTO;
//Laya.stage.scaleMode = Laya.Stage.SCALE_FIXED_WIDTH;
Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;
Laya.stage.fullScreenEnabled = true;
}
else if (Laya.Browser.onPC) {
console.log("Browser.onPC");
//Laya.stage.scaleMode = Laya.Stage.SCALE_SHOWALL;
Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;
Laya.stage.fullScreenEnabled = false;
}
else {
console.log("Browser: others");
Laya.stage.scaleMode = Laya.Stage.SCALE_FIXED_AUTO;
}
console.log("Laya.stage.scaleMode set to " + Laya.stage.scaleMode);
console.log("Laya.stage size = " + Laya.stage.width + " x " + Laya.stage.height
+ ", design = " + Laya.stage.designWidth + " x " + Laya.stage.designHeight);
但不知道这个bug规律在什么地方
莫名其妙去掉一行 log,又不报错了,今天不知道怎么修改了 log,又报上面的 错误
Cannot assign to read only property 'window' of object '#<Window>'
请官方 IDE 程序猿能帮忙解决一下吗? 如果不用混淆 JS,本地包尺寸就超过了。
微信小游戏工具里看到的 laya.wxmini.js 前几行内容如下:
------------------------------------------
define("libs/laya.wxmini.js", function(require, module, exports, process){ "use strict";
window = window || global, window.layalib || (window.layalib = function (i, e) {
(window._layalibs || (window._layalibs = )).push({ f: i, i: e });
}), window.layalib(function (i, e, t) {
console 窗口报错如下:
------------------------------------------
WAGame.js:3 gameThirdScriptErrorCannot assign to read only property 'window' of object '#<Window>'
TypeError: Cannot assign to read only property 'window' of object '#<Window>'
athttp://127.0.0.1:34658/game/libs/laya.wxmini.js:3:8
毫无规律,有时创建一个3D空项目一个字不改,不会遇到这样问题。
然后再在 Main.ts 里面 class main 的 constructor 函数内末尾
加几句不痛不痒的如下的内容,再导出微信小游戏,就会报上面的错
if (Laya.Browser.onWeiXin) {
//微信内
console.log("Browser.onWeiXin");
//Laya.stage.scaleMode = Laya.Stage.SCALE_FIXED_AUTO;
//Laya.stage.scaleMode = Laya.Stage.SCALE_FIXED_WIDTH;
Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;
Laya.stage.fullScreenEnabled = true;
}
else if (Laya.Browser.onPC) {
console.log("Browser.onPC");
//Laya.stage.scaleMode = Laya.Stage.SCALE_SHOWALL;
Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;
Laya.stage.fullScreenEnabled = false;
}
else {
console.log("Browser: others");
Laya.stage.scaleMode = Laya.Stage.SCALE_FIXED_AUTO;
}
console.log("Laya.stage.scaleMode set to " + Laya.stage.scaleMode);
console.log("Laya.stage size = " + Laya.stage.width + " x " + Laya.stage.height
+ ", design = " + Laya.stage.designWidth + " x " + Laya.stage.designHeight);
但不知道这个bug规律在什么地方
莫名其妙去掉一行 log,又不报错了,今天不知道怎么修改了 log,又报上面的 错误
Cannot assign to read only property 'window' of object '#<Window>'
请官方 IDE 程序猿能帮忙解决一下吗? 如果不用混淆 JS,本地包尺寸就超过了。
要回复问题请先登录
2 个回复
林子
赞同来自:
一开始用下面 这句代码 报找不到 laya 改了 ES6转ES5 就变成 你的这个报错了 请问楼主解决了没?
laya.wx.mini.MiniAdpter.init(true);
Anakin
赞同来自:
我终于发现
需要手动把 project.config.json 中的
"es6": true 改成 false
然后就解决了。
貌似是 因为 鹅厂的程序猿 和 laya的程序猿 对 es6 有不同的想法,不兼容导致的。
期望官方尽快解决把