Using shelf_static
通过 Dart 提供静态网页是没有问题的:
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
适用于动态网页:
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);
or ...
..get('/.*', staticHandler);
or ...
..get('/{any}', staticHandler);
所有这些都给了我指定的默认值home.html
如果我要求的话页面http://localhost:8080/
但明确要求现有页面http://localhost:8080/home.html
给我找不到。
我是否应该尝试这样做shelf_static
?如果不是,正确的方法是什么?
谢谢!