flutter - 如何将 dart 变量传递给 index.html
问题描述
我一直在使用环境构建开发我的颤振应用程序,我想根据我正在做的网络构建类型修改我的 index.html 文件。
有没有办法这样做?我有一个 env.dart,其中包含我需要的变量,但我不知道如何用我的 dart 变量修改 index.html。
谢谢。
解决方案
使用 shellscript 的解决方案
我目前使用一个,但它是一个 shell 脚本
设置特定于环境的 index.html
从您的项目文件夹中创建您将存储 index.html 文件的环境:
mkdir config
cd config
mkdir release
mkdir dev
mkdir uat
然后将您不同的 index.html(尤其是来自 web/ 的那个)复制到 config/release/ config/dev/ 和 config/uat/
cp ../web/index.html release/ && cp ../web/index.html dev/ && cp ../web/index.html uat/
/!\ 备份位于 WEB/INDEX.HTML
中的当前文件
该脚本会将 index.html 从您的不同环境目录直接复制到 web/ 并擦除 web/ 中的当前文件。如果您永久删除该文件,我拒绝承担任何责任。你是警告。
脚本文件
创建脚本文件:
touch run.sh && chmod +x run.sh
在里面复制这个脚本:
cp config/$1/index.html web/index.html && flutter run -d chrome --no-sound-null-safety
如何使用
并使用./run.sh release
,./run.sh dev
或./run.sh dev
将 --dart-define 用于特定于环境的变量
我还运行此脚本以及设置环境变量--dart-define
flutter run --dart-define=MY_ENV_VARIABLE=ITS_VALUE
注意:我目前禁用空安全,因为我的项目的库还不是空安全的。
推荐阅读
- bitmap - 如何仅从像素数据 + 宽度 + 高度创建 MTLTexture
- kubernetes - Kubernetes:定义来自不同节点的卷挂载
- java - 如何为角色扮演游戏创建上下文无关语法
- ios - Flutter iOS App sqflite 数据库数据在应用升级后丢失
- angular - 升级到 Angular 9 和 10 后,Angular 开发环境无法按预期工作
- php - 多个 else if 在 jQuery
- windows - UseDefaultcredentials 不适用于 Invoke-RestMethod
- python - 将 Json 文件转换为数据帧
- web - 数据表的“自定义”字母表
- node.js - 如何在 Node JS 中将数据从一个流复制到另一个流