【发布时间】:2020-05-12 01:07:32
【问题描述】:
我如何构建可以为 web 构建的 Flutter 应用,并且在我们现有的 android/ios 应用上使用相同的应用。
我们已经有现有的应用程序,我们正在寻求向 Flutter 发展。我们可以在 Flutter 中构建我们的应用程序,将其插入现有应用程序并在 Web 中使用相同的应用程序吗?
阿比
【问题讨论】:
标签: flutter flutter-web
我如何构建可以为 web 构建的 Flutter 应用,并且在我们现有的 android/ios 应用上使用相同的应用。
我们已经有现有的应用程序,我们正在寻求向 Flutter 发展。我们可以在 Flutter 中构建我们的应用程序,将其插入现有应用程序并在 Web 中使用相同的应用程序吗?
阿比
【问题讨论】:
标签: flutter flutter-web
启用 Flutter Web
flutter config --enable-web
然后进入现有的 Flutter 项目并运行
flutter create .
您的项目将被配置为网络。
禁用网页:
flutter config --no-enable-web
更多信息here。
【讨论】:
您可以使用条件导入:
import 'some_package_stub.dart'
if (dart.library.io) 'some_package_io.dart'
if (dart.library.html) 'some_package_web.dart';
some_package_stub.dart 文件是必需的,以避免在开发和编译时出错。它必须包含一些依赖于运行平台的stub 功能。
例如,如果您使用来自包some_package 的函数getPlatformDependedData 在Web 或Android 下返回不同的数据,那么您应该在some_package_stub.dart 中声明这些函数的原型:
String getPlatformDependedData() {
throw UnimplementedError('This error will not raised!');
}
然后在代码中你可以使用isWeb 常量来检查代码是否与网络相关:
if (isWeb) {
// some web related statements
}
【讨论】:
根据documentation,您需要在终端中运行这些命令:
flutter channel stableflutter upgradeflutter config --enable-webflutter create .【讨论】:
关于这个问题:我可以构建一个可以在浏览器中运行的 Flutter 应用吗,Flutter for web 最近已经推出。你可以在这里找到更多信息:flutter web
【讨论】: