Dart Route Client の例を実行すると、エラーが発生します。
Illegal argument(s): No handler found for /MYAPP/web/myapp.html
デフォルトの例では URLS が次のように定義されているため、これは理にかなっています。
library example.urls;
final one = new UrlPattern('/one');
final two = new UrlPattern('/two');
final home = new UrlPattern('/');
その後、ルートが処理されます。
import 'urls.dart' as urls;
...
var router = new Router()
..addHandler(urls.one, showOne)
..addHandler(urls.two, showTwo)
..addHandler(urls.home, (_) => null)
..listen();
私のアプリケーションは、実行されている環境 (ローカル、開発、テスト、本番) に応じて異なるベース URL を持ち、それらの URL は次のようになります。
http://MYAPP/web/index.html
http://dev.mydomain.com/alpha/index.html
http://dev.mydomain.com/index.html
http://dev.mydomain.com
http://test.mydomain.com/index.html
http://test.mydomain.com
http://mydomain.com/index.html
http://mydomain.com
環境に応じて名前を変更する必要がないように、URLPatterns で式を定義するにはどうすればよいですか。具体的には、ルート+ハッシュを使用してホーム以外の場所を表すことを知って、階層のルートを表す「ホーム」URLを定義するにはどうすればよいですか。