ice-lab / ice-next

The repo was transferred to https://github.com/alibaba/ice
https://v3.ice.work/
MIT License
53 stars 7 forks source link

[RFC] 原生小程序工程配置如何配置? #557

Closed ChrisCindy closed 1 year ago

ChrisCindy commented 2 years ago

Rax 的做法

build.json 中通过 miniapp.nativeConfig 字段配置:

// build.json 
{
  "targets": ["miniapp"],
  "miniapp": {
    "nativeConfig": {
      "appId": "YOUR_APP_ID"
    }
  }
}

编译过程中读取该字段并输出至 dist 目录的 project.config.json

Taro 的做法

在项目根目录或 src 目录放置 project.config.json,编译时将该文件拷贝至 dist 目录

ICE 怎么做?

个人倾向于 在 build.config.mts 中新增 miniapp 字段,在其中可配置小程序端的 nativeConfig

import { defineConfig } from '@ice/app';

export default defineConfig({
  miniapp: {
    nativeConfig: {
      appId: "YOUR_APP_ID"
    }
  }
});

当多端小程序存在差异时,使用环境变量(如 process.env.PLATFORM)进行差异化逻辑编写

ChrisCindy commented 2 years ago

结论:用插件形式抽离小程序配置,小程序相关的配置放在插件配置中