gpt4 book ai didi

flutter - 如何从 Flutter web 中的 URL 中删除哈希 (#)

转载 作者:行者123 更新时间:2023-12-03 02:39:18 26 4
gpt4 key购买 nike

Flutter web 项目的默认 URL 定义了一个包含 hashtag ( # ) 的 URL,如下所示:

http://localhost:41521/#/peaple/...
我想删除这个“#”,看起来像这样:
http://localhost:41521/peaple/
我怎么解决这个问题?

最佳答案

您现在可以使用 简单包装和一个 单行代码 从您的 Flutter Web 应用程序中删除前导哈希 (#): url_strategy (完全披露:我是作者)
使用 url_strategy
您只需添加依赖项 as described here然后将以下函数调用添加到您的 main功能:

import 'package:url_strategy/url_strategy.dart';

void main() {
// Here we set the URL strategy for our web app.
// It is safe to call this function when running on mobile or desktop as well.
setPathUrlStrategy();
runApp(MyApp());
}
调用 setPathUrlStrategy这就是你需要做的一切🎉

该包还确保运行代码不会在移动设备上崩溃(见下文)。此外,这也将在 stable 上运行如果您在 stable 上构建您的移动应用程序并且只有网站 beta .
笔记
您需要确保包含 <base href="/"><head>您的 web/index.html 部分使用路径 URL 策略时。
这是在创建新的 Flutter 应用程序时默认添加的。
此外,当 正在部署 您的 生产应用 ,您需要确保每条路径都指向您的 index.html .如果您使用 Firebase 托管等工具,则在将您的应用配置为 时会自动为您完成此操作。单页应用 .
否则,您要查找如何将所有路径重写为您的 index.html对于您正在使用的主机。
本质上,您希望拥有一个单页应用程序,其中 HTTP 服务器为 index.html 提供服务。对于所有路径。

包实现基于使用 flutter_web_plugins 的手动解决方案.使用该软件包的好处如下:
  • 只需要调用一个函数。
  • 无需使用条件导入(该包为您完成)。
  • 您不会在 stable 上遇到任何遗漏的实现问题。 (因为网络功能仍在 beta 上)。
  • 关于flutter - 如何从 Flutter web 中的 URL 中删除哈希 (#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59870357/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com