[]LayaAir下如何分包?

已邀请:

cuixueying

赞同来自: rabbit

1、将你需要分包的文件以类库的形式放置在项目文件夹下的modules文件夹下
2、在项目文件夹下创建一个.txt文本,内容如上图所示:
     module:   分包后的js文件命名
     path:    自定义类文件存放的路径

111.png


     内容写完,Ctrl+S进行保存。将.txt后缀改名为.def后缀。完成
3、点击宏命令Laya_js(参考:环境配置),进行js项目发布,这时候你会发现在bin下的h5下自动生成了一个js文件夹,里面就是你最终分包后的js文件,它的命名受限于你的module.def下的module参数

222.png

4、开始调用你分包后的js文件,参考上图1所示,使用laya.loader.load对js进行加载,加载完成后,如2所示,使用__JS__('window.eval(data)');翻译成h5后,将json的data数据在window下进行加载。并进行调用。

moketao

赞同来自: chunjine

在打包到App的情况下,多半是要做热更新的,而分包能减少每次用户热更新需要下载的量,所以分包是很重要的,既然这么重要,分包教程应该是写在官方教程里,而不是在这里单独成贴。
 
又忍不住说废话,囧。抱歉。
 
下面给出示范工程代码,基于 Laya as 引擎 1.78 beta
 
前提条件:
需要在 E盘 建立一个 as 目录,目录里放置 laya的引擎

TIM截图20170725212315.png

 
然后,下载下面这个名为 FenBao.rar 的文件,解压,导入,编译。




除了 module.def ,其它核心代码如下:
TIMtttt3.png


TIMttttt34.png

 

yinzhigang12

赞同来自:

按照示例分包以后总是报这个问题啊,怎么解决啊
layaImg.png

 
快疯啦,测试的用的分包可以啦,同样的用到项目里面又不行了

moketao

赞同来自:

补充:
 
如果希望将 maingame.js 加入资源版本管理(热更新)(html5 webgl 模式下,也就是不使用 layanative的项目,应该会有这样的需求)
那么 module.def 要这样写:
 
module:"../res/js/maingame"
path:"modules\class\src"
编译完成后,maingame.js 就不会被单独放置到 js目录下,而是放置到了 res/js 目录。
 
 

sevennqi

赞同来自:

。。。。。。

cuixueying

赞同来自:

之前的例子确实有问题,已经修改并重新上传!

185*****367

赞同来自:

求例子地址

155*****583

赞同来自:

按照 demo 新建一个项目,配置 def 文件,项目也设置了分包文件夹,一切都一样,只是再 layaairIDE 里面做的,为什么不行,new 的时候会提示 defined

赞同来自:

弱弱问下,点击宏命令Laya_js是啥操作

ljy328803417

赞同来自:

标题是:LayaAir下如何分包
为什么说的却是flashbuilder,能不能给个TS的demo啊?

dss

赞同来自:

TS的分包也是这个流程吗?

Aar0n

赞同来自:

分包例子在附件中了

要回复问题请先

商务合作
商务合作