# 项目构建

# 构建配置

项目目录/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前缀,使用网络资源。

点击咨询小助手