# 项目构建
# 构建配置
项目目录/engine.ide.json
文件可以对项目构建进行额外的配置实例。
{
"resourceDirs": {
// 定义打包范围可精确到某个资源,或者直接配置目录。
"buildIn": [
"assets/Assets/Resources/a/exampleb.prefab",
"assets/Assets/Resources/b/examplea.prefab"
],
// 定义打包范围可直接配置目录,目录下所有资源都会纳入打包范围。
"idePack": [
"assets/Assets/Resources"
]
},
"engineVersion": "0.5.6",
"envBootScript": "scripts/envBoot.ts",
"build": {
"mainScene": {
"3d":"assets/Assets/Resources/example3D.scene",
"2d": "assets/Assets/Resources/example2D.scene"
},
"textureCompressionEncodeQuality": {
"pvr": "pvrtcnormal",
"etc": "etcfastperceptual",
"astc": "astcmedium",
},
},
"importPackages": {
"files": []
}
}
# 注解:
resourceDirs
:背景,项目在最终构建的时候,并不会把所有资源都打包到minigame/assets目录中。除了UI面板选择的主场景及其依赖以外,要想通过loader.load(path),这样的方式加载其他资源,需要通过配置resouDirs来告知工具,还有哪些资源需要纳入打包范围中。
resourceDirs.buildIn
:该项声明的资源路径/文件夹路径下的资源,会打包到assets/buildin目录下,意味着是代码包内置资源。UI面板选择的主场景,也会放置在assets/buildin中。
resourceDirs.idePack
: 该项声明的资源路径/文件夹路径下的资源,会打包到assets/idepack目录下,意味着是要上传到CDN上的资源。
envBootScript
:启动脚本路径,该脚本会在最开始被加载引入。
build.mainScene
:通过命令行构建时,声明主2D,3D场景。
build.textureCompressionEncodeQuality
:压缩纹理配置,可不填,走默认值。可选的有:['pvrtcfastest'|'pvrtcfast'|'pvrtcnormal'|'pvrtchigh'|'pvrtcbest'|'etcfast'|'etcslow'|'etcfastperceptual'|'etcslowperceptual'|'astcveryfast'|'astcfast'|'astcmedium'|'astcthorough'|'astcexhaustive]
。
注意:更换了配置需要删除 项目目录/minigame/__temp/__buildTemp 目录,否则会因为缓存而失效。(后续优化)。
importPackages
:命令行构建时,先进行解包操作,默认为空,可不填。
# 关于脚本:
构建时,会把assets/目录下的所有脚本,编译成js之后,保持相对位置不变,拷贝到 minigame/assets/
文件夹中,使用小程序分包时,请业务自行保持代码加载。
# 关于上传预览
# 上传版本:
若构建结果可直接上传,可忽略下面步骤:
1.把IDEPACK下的文件夹内容上传到CDN。
2.project.config.json文件设置packOptions。
"packOptions": {
"ignore": [
{
"type": "folder",
"value": "assets/IDEPack/"
}
]
},
其他配置可以看微信小程序官网。
3.minigame/engine.config.json baseURL项,默认值为 file:///
,使用本地文件;可配置CDN前缀,使用网络资源。