设置dart编辑器服务器响应

设置dart编辑器服务器响应,dart,dart-editor,dart-pub,Dart,Dart Editor,Dart Pub,我的apache服务器设置为使用index.html响应任何请求。这背后的想法是让我们正在创建的web应用程序处理路由。默认情况下,dart编辑器测试环境不会执行此操作 当我转到http://127.0.0.1.8080/something/that/does/not/exisit它将返回一个404。我希望它以index.html响应,并让应用程序处理路由 是否可以为dart测试环境设置此行为 建议的方法是使用一个自定义服务器作为代理转发到pub-service 另见 代码(从链接问题复制

我的apache服务器设置为使用index.html响应任何请求。这背后的想法是让我们正在创建的web应用程序处理路由。默认情况下,dart编辑器测试环境不会执行此操作

当我转到
http://127.0.0.1.8080/something/that/does/not/exisit
它将返回一个404。我希望它以index.html响应,并让应用程序处理路由


是否可以为dart测试环境设置此行为

建议的方法是使用一个自定义服务器作为代理转发到
pub-service

另见

代码(从链接问题复制)

Future proxyToPub(HttpRequest请求,字符串路径){
常量响应\u头=常量[
HttpHeaders.CONTENT_长度,
HttpHeaders.CONTENT_TYPE];
var uri=pubServeUrl.resolve(路径);
返回client.openUrl(request.method,uri)
.然后((代理请求){
proxyRequest.headers.removeAll(HttpHeaders.ACCEPT_编码);
返回proxyRequest.close();
})
.然后((代理响应){
proxyResponse.headers.forEach((名称、值){
if(响应标题包含(名称)){
request.response.headers.set(名称、值);
}
});
request.response.statusCode=proxysponse.statusCode;
request.response.reasonPhrase=proxysponse.reasonPhrase;
返回proxyResponse.pipe(request.response);
})
.catchError((e){
打印(“无法连接到“${request.uri}”的“发布服务”:$e”);
var error=新资产负债表(
“无法连接到“${request.uri}”:$e”的“发布服务”;
返回新的未来。错误(error);
});
}
我使用
route_hierarchy
包的方式与启用或禁用
usePushState
的方式相同。这样,我可以使用URL片段进行开发,使用pushState进行部署。
看见
或者两个类似(简单)的示例,其中一个使用
usePushState
false
,另一个使用
true

导入“dart:html”在独立VM上不可用。因此,我无法在dart编辑器中运行此应用程序。它应该成为一个控制台应用程序,从当前正在开发的应用程序中单独运行。导入可能是
dart:io
,也可能是
dart.http
。您可以使用带有指向此代理的自定义启动配置的DartEditor启动条目页。(我自己还没用过这个)