設定 Web 應用的 URL 策略
Flutter Web 應用支援兩種基於 URL 的路由的設定方式:
Hash(預設)
路徑使用 # + 錨點識別符號 讀寫,例如:flutterexample.dev/#/path/to/screen
。
Path
路徑使用非 # 讀寫,例如:flutterexample.dev/path/to/screen
。
設定 URL 策略
讓 Flutter 使用 path 策略,請使用 flutter_web_plugins
庫中提供的 setUrlStrategy
方法。
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 Hosting 託管,在初始化專案時選擇 “設定單頁應用” 選項。更多訊息請檢視 Firebase 中的 設定重寫。
當你透過 flutter run -d chrome
建立並執行本地開發伺服器時,它的預設設定會處理好所有的路徑,並回退到應用程式的 index.html
檔案。
將 Flutter 應用部署在子目錄下
更新 web/index.html
中的 <base href="/">
標籤為你的應用部署路徑。例如:如果你期望將 Flutter 應用部署在 myapp.dev/flutter_app
,則更改此標籤為 <base href="/flutter_app/">
。