[LayaAirIDE 1.0]【LayaAirIDE 1.8.2】使用Rollup打包js ,报错 ui is not defined,附带 必现问题 DEMO

我使用的是 LayaAirIDE 1.8.2 ,使用Rollup 打包js
配置如下 
内网通截图20200604170438.png


内网通截图20200604170502.png


内网通截图20200604170531.png

 
刚才由于DEMO太大,上传不了,现在我重新传了一次,DEMO目录我把 bin目录去掉了,还有node_modules 模块也去掉了,麻烦你们查看DEEMO的时候,使用 npm install 安装下 node_modules 
 
我这边想做的就是,目前的想法就是 利用 LayaIDE 编译ts为js ,然后用 rollup来打包 bin目录下的js文件,由于我目前项目使用LayaIDE来打包满足不了项目需求,所以我就是单独想拿 rollup来打包文件,我之前已经把 webPack ,gulp , rollup各种都试了一遍,都是报上面的错误,一直找不到 ui is not defined, 然后我又去下载最新的 LayaIDE2.6,看他用的是rollup ,我这边才最后使用这个.麻烦各位帮我看看,实在不知道该怎么修改了
 
 
已邀请:

陆仁毅

赞同来自:

1. rollup是用来打包es模块的。
2. 1.0IDE编译后是用index.html串联的项目,所以引用顺序和依赖没有问题,你直接用rollup input "**/*.*",他又不知道js的引用和依赖顺序,所以打包时就是按照文件夹和目录中的顺序打包。而且rollup打包module会比较奇特的修改module名 ui->ui$1不知道原理。
解决方案:手动配置input数组,编译之后再手改下js。更推荐webpack或者Browserify打包
[
'./bin/js/ui/layaUI.max.all.js',
'./bin/js/LayaUISample.js'
]

唐家灬三少

赞同来自:

@陆仁毅 ,麻烦你在帮我看看呢,我还原回我以前的 webPack的配置,还是会出现ui not defined ,这个问题,是我 entry 这个入口文件,必须手动按照 index.html的顺序来配置数组吗?我这边不太清除这个,或者有没有更好的建议,我这边的想做的就是很简单的,一次性打包出 3个不同目录的 bundle.js文件,因为 IDE1.8.2每次时全部合在一起,我这边是想把 他拆分一下, 比如 bundle_hall.js, bunle_game.js打包出两个,我这边用 IDE.1.8.2来手动 指定然后打包是没问题,但是就是太麻烦,太不流畅了,太费时间了

要回复问题请先

商务合作
商务合作