在 flutter web 中是否有 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 build 中也是可能的(无法找到相同的 gradle 脚本)

解决方法

编写以环境名称(PROD1/PROD2/UAT/... ) 作为输入的脚本,并将所需的“图像到白标”/“主题颜色列表文件”/“字符串列表配置”复制到相应的文件夹之前运行“flutter build web”。虽然它限制所有发布都发生在 linux / 为 windows 维护等效的 bat 文件,但总的来说它是有效的。

,

如果您使用的是 VSCode,我认为您可以在 launch.json 中设置预构建,如here

所述

基本上你可以设置你的 .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","preLaunchTask": "npm: copyClientConfiguration"
        }
    ]
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...