在 Web 上配置 URL 策略

Flutter Web 应用程序支持在 Web 上配置基于 URL 的导航的两种方式

哈希(默认)
路径读写到哈希片段。例如,flutterexample.dev/#/path/to/screen
路径
路径读写时没有哈希。例如,flutterexample.dev/path/to/screen

配置 URL 策略

要将 Flutter 配置为使用路径,请使用 usePathUrlStrategy 函数,该函数由 SDK 中的 flutter_web_plugins 库提供

import 'package:flutter_web_plugins/url_strategy.dart';

void main() {
  usePathUrlStrategy();
  runApp(ExampleApp());
}

配置 Web 服务器

PathUrlStrategy 使用 History API,这需要对 Web 服务器进行其他配置。

要配置 Web 服务器以支持 PathUrlStrategy,请查看 Web 服务器的文档以将请求重写为 index.html。查看 Web 服务器的文档以了解有关如何配置单页应用的详细信息。

如果您使用 Firebase 托管,请在初始化项目时选择“配置为单页应用”选项。有关更多信息,请参阅 Firebase 的 配置重写 文档。

通过运行 flutter run -d chrome 创建的本地开发服务器配置为优雅地处理任何路径并回退到应用的 index.html 文件。

在非根位置托管 Flutter 应用

<base href="/"> 标记中的 web/index.html 更新为应用托管到的路径。例如,要在 my_app.dev/flutter_app 中托管 Flutter 应用,请将此标记更改为 <base href="/flutter_app/">