设置播放框架和dart进行开发和调试

时间:2015-05-11 11:05:11

标签: eclipse playframework-2.0 dart dart-pub typesafe-activator

我正在使用服务器的播放框架和客户端的dart开发一个相对简单的Web应用程序。我正在使用eclipse。开发和调试本身很好但是如何让它们一起工作?

Play拥有自己的网络服务器(激活器),知道如何加载每个端点的入口点,并且dart环境知道如何为dartium提供dart资源(pub serve)和(还没试过这个) )为其他浏览器提供js资源。有没有办法让激活者根据需要向dart / pub系统询问资源?

我尝试将服务器静态资源中的符号链接直接添加到dart / html资源,但似乎这些文件需要由pub服务器处理才能被浏览器使用。

2 个答案:

答案 0 :(得分:2)

Günter的建议非常好。我安装了nginx并使用了以下配置

<h:form rendered="#{lessonBean.TEST!=null}">
      <ui:repeat value="#{lessonBean.TEST.questions}" var="quest">
             <h:selectOneRadio value="#{quest.answer}">
                     <f:ajax event="click" process="@this" update="@this">
                     <f:selectItem itemValue="1" itemLabel="${quest.a1}"/>
                     <f:selectItem itemValue="2" itemLabel="${quest.a2}"/>
                     <f:selectItem itemValue="3" itemLabel="${quest.a3}"/>
                     <f:selectItem itemValue="4" itemLabel="${quest.a4}"/>
                     <f:selectItem itemValue="5" itemLabel="${quest.a5}"/>
            </h:selectOneRadio>
      </ui:repeat>
</h:form>

然后我以

启动dart服务器
server {
    listen       8080;
    server_name  localhost;

    location / {
        # Dart pub serv
        proxy_pass http://localhost:9100;
    }

    location /api/ {
        # Play 
        proxy_pass http://localhost:9000/api/;
    }
}

typeafe / play服务器默认侦听9000。

我发现我必须使用远离激活端口的dart端口号,因为它似乎也在附近的端口上侦听。

埃文

答案 1 :(得分:0)

我想最好的方法是使用带有规则的代理将Dart资源请求转发到pub serve并将资源播放到activator。 这在Dart中很容易构建,例如使用shelfshelf_routeshelf_proxy或nginx以及一些转发规则。