[]使用/*[COMPILER OPTIONS:normal]*/来编译分包无法生成Dictionary类的定义

module.def
module:"test"
path:"E:\layatest\testdict\src\test"
文档类
 package
{
/*[COMPILER OPTIONS:normal]*/
public class testdict
{
public function testdict()
{
}
}
}
分包的类
package test
{
import laya.display.Stage;
import laya.utils.Dictionary;
import aa.TestAA;

public class AAA
{
public function AAA()
{
TestAA;
Laya.stage;
Stage;
var a:Dictionary = new Dictionary();
a.set('test','aa');
trace(a.get('test'));
}
}
}
生成的分包test.js
(function(window,document,Laya){
var __un=Laya.un,__uns=Laya.uns,__static=Laya.static,__class=Laya.class,__getset=Laya.getset,__newvec=Laya.__newvec;

var Stage=laya.display.Stage,TestAA=aa.TestAA;
//class test.AAA
var AAA=(function(){
function AAA(){
TestAA;
Laya.stage;
Stage;
var a=new Dictionary();
a.set('test','aa');
console.log(a.get('test'));
}

__class(AAA,'test.AAA');
return AAA;
})()



})(window,document,Laya);




 分包的文件的js执行会报错,Dictionary没有定义,因为laya.utils.Dictionary才是定义。
 
我上传了项目文件包
已邀请:

Laya_XS

赞同来自:

应该是这个类没有其他地方引用,这样编辑器在编译发布h5时不会生成相应的js文件!你可以手动引入下这个类,应该就可以了!

15068753667

赞同来自:

不是引用了吗AAA这个类

wch025

赞同来自:

这样编译出来的JS文件里的Dictionary类,却是AS的Dictionary,而不是laya.utils.Dictionary
要用完整的类名称:laya.utils.Dictionary就不会报错了
import laya.utils.Dictionary;这句话没生效,这应该是编译器的BUG吧
 

qq858443101

赞同来自:

遇到同样问题~~

要回复问题请先

商务合作
商务合作