Dartを使用shelf_static
して静的な Web ページを提供することは問題ありません。
var staticHandler = createStaticHandler(staticPath, defaultDocument:'home.html');
io.serve(staticHandler, 'localhost', port).then((server) {
print('Serving at http://${server.address.host}:${server.port}');
});
shelf_route
動的な Web ページには罰金を使用できます。
Router routes = new Router()
..get('/item/{itemid}', handler.doItem);
var handler = const shelf.Pipeline()
.addHandler(routes.handler);
io.serve(handler, 'localhost', port).then((server) {
print('Serving at http://${server.address.host}:${server.port}');
});
しかし、静的ハンドラーを動的バージョンに追加するのに苦労しています。私が試したことは次のとおりです。
Router routes = new Router()
..get('/item/{itemid}', handler.doItem)
..get('/', staticHandler);
また ...
..get('/.*', staticHandler);
また ...
..get('/{any}', staticHandler);
要求すると、指定されたデフォルトhome.html
ページが表示されますhttp://localhost:8080/
が、既存のページhttp://localhost:8080/home.html
を明示的に要求すると、Not Found が表示されます。
でこれをやろうとしてもいけませんshelf_static
か?そうでない場合、正しいアプローチは何ですか?ありがとう!