设置播放框架和飞镖以进行开发和调试
Setting up play framework and dart for development and debug
我正在开发一个相对简单的 Web 应用程序,使用服务器的 play 框架和客户端的 dart。我正在使用日食。开发和调试本身很好,但如何让它们协同工作?
Play 有自己的网络服务器(激活器),它知道如何为每个端点加载入口点,并且 dart 环境知道如何为 dartium 提供 dart 资源(pub 服务)和(还没有尝试过) ) 为其他浏览器提供 js 资源。有没有办法让激活器根据需要向 dart/pub 系统请求资源?
我尝试将服务器静态资源的符号链接直接添加到 dart/html 资源,但这些文件似乎需要由 pub 服务器处理才能被浏览器使用。
我想最好的方法是使用有规则的代理将对 Dart 资源的请求转发到 pub serve
并播放资源到 activator
。
这在 Dart 中构建起来很简单,例如使用 shelf, shelf_route and shelf_proxy 或带有一些转发规则的 nginx。
君特的建议很不错。我安装了 nginx 并使用了以下配置
server {
listen 8080;
server_name localhost;
location / {
# Dart pub serv
proxy_pass http://localhost:9100;
}
location /api/ {
# Play
proxy_pass http://localhost:9000/api/;
}
}
然后我启动 dart 服务器
pub serve --port 9100
typesafe/play 服务器默认侦听 9000。
我发现我必须使用远离激活器端口的 dart 端口号,因为它似乎也在附近的端口上监听。
埃文
我正在开发一个相对简单的 Web 应用程序,使用服务器的 play 框架和客户端的 dart。我正在使用日食。开发和调试本身很好,但如何让它们协同工作?
Play 有自己的网络服务器(激活器),它知道如何为每个端点加载入口点,并且 dart 环境知道如何为 dartium 提供 dart 资源(pub 服务)和(还没有尝试过) ) 为其他浏览器提供 js 资源。有没有办法让激活器根据需要向 dart/pub 系统请求资源?
我尝试将服务器静态资源的符号链接直接添加到 dart/html 资源,但这些文件似乎需要由 pub 服务器处理才能被浏览器使用。
我想最好的方法是使用有规则的代理将对 Dart 资源的请求转发到 pub serve
并播放资源到 activator
。
这在 Dart 中构建起来很简单,例如使用 shelf, shelf_route and shelf_proxy 或带有一些转发规则的 nginx。
君特的建议很不错。我安装了 nginx 并使用了以下配置
server {
listen 8080;
server_name localhost;
location / {
# Dart pub serv
proxy_pass http://localhost:9100;
}
location /api/ {
# Play
proxy_pass http://localhost:9000/api/;
}
}
然后我启动 dart 服务器
pub serve --port 9100
typesafe/play 服务器默认侦听 9000。
我发现我必须使用远离激活器端口的 dart 端口号,因为它似乎也在附近的端口上监听。
埃文