在 flutter web 中是否有 reactjs package.json "prebuild" 的等价物

In flutter web is there a equivalent for reactjs package.json "prebuild"

我们有一个为不同站点构建的包,需要在实际构建步骤之前执行一些预构建步骤。

在flutter中android,这些步骤在“preBuild.dependsOn”中执行(在android/app/build.gradle)

编辑(附加信息):

MyFlutterMob/android/app/build.gradle

以下预构建步骤是 运行 :

  def option = System.getenv('APK_FOR')

  setConfig()
  {
         if(option == "DEMO"){
             copy{
                 from "../../DemoAppAsset/AppLogo.png"
                 into "../../assets/images" 
             }
         }
         else if(option == "PROD"){
             copy{
                 from "../../ProdAppAsset/AppLogo.png"
                 into "../../assets/images" 
             }
         }
  }

  preBuild.dependsOn setConfig

在 flutter web 构建中可能相同(无法找到相同的 gradle 脚本)

如果您使用的是 VSCode,我想您可以在 launch.json 中设置预构建,如 here[=15 中所述=]

基本上你可以设置你的 .vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
        }
    ]
}

然后,您应该在同一个文件夹中创建一个文件 tasks.json,并添加一个脚本来执行您想要的操作(例如 npm 脚本)

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "npm",
            "script": "copyClientConfiguration",
            "problemMatcher": []
        }
    ]
}

最后,您可以在 launch.json

中将此任务添加为 preLaunchTask
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "preLaunchTask": "npm: copyClientConfiguration"
        }
    ]
}

Wrote shall scrip 以环境名称(PROD1/PROD2/UAT/...)作为输入并将所需的“图像到白标签”/“主题颜色列表文件”/“字符串列表配置”复制到相应的运行“flutter build web”之前的文件夹。尽管它限制所有发布从 linux 发生/为 windows 维护等效的 bat 文件,但大体上它是可行的。