3

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を定義するにはどうすればよいですか。

4

1 に答える 1

0

したがって、サンプル サーバーの一部のコードはまだ Dart 1.0 用に更新されていないようです。そのため、サーバーは実行されず、サンプルでは pushState を使用しているためサーバーが必要です。バージョン 0.4.6 に修正をプッシュしました。

サンプルを実行するには、server.dart を実行してから、Dartium を に移動しhttp://127.0.0.1:8080ます。別のブラウザーで実行する場合は、最初に client.html を dart2js でコンパイルする必要があります。

于 2013-11-12T03:27:01.540 に答える