无法获得javascriptRoutes一起玩框架2工作(Can't get javascr

2019-08-17 00:13发布

我试图用javascriptRoutes在播放2(斯卡拉),我得到一个错误(见下文)。 下面是我做的:

添加javascriptRoutes方法Application控制器

def javascriptRoutes = Action { implicit request =>
    import routes.javascript._
    Ok(Routes.javascriptRouter("jsRoutes")(Orders.searchProducts))
        .as("text/javascript")
}

添加路由, routes文件

GET    /assets/javascripts/routes    controllers.Application.javascriptRoutes

添加<script>进口main.scala.html

<head>
...
<script type="text/javascript" src="@routes.Application.javascriptRoutes"></script>
...
</head>

有了这些变化的地方我得到的JavaScript控制台以下错误:

GET http://localhost:9000/assets/javascripts/routes 404 (Not Found)
Uncaught ReferenceError: jsRoutes is not defined

我在想什么?

Answer 1:

通过conf / routes文件中的错误顺序可能会引起问题。

有一个提示:

http://grokbase.com/t/gg/play-framework/1348rbs2vk/2-1-scala-javascript-router-404

有一次我根据提示调整顺序:

移动资产路线上面的JavaScript路由器的作用路线定义。

这个问题是固定的。

    # Routes
    # This file defines all application routes (Higher priority routes first)
    # ~~~~

    GET     /                           controllers.MainController.index()
    GET     /message                    controllers.MessageController.getMessage()
    GET     /assets/javascripts/routes  controllers.MessageController.javascriptRoutes()

    # Map static resources from the /public folder to the /assets URL path
    GET     /assets/*file               controllers.Assets.at(path="/public", file)
    GET     /webjars/*file              controllers.WebJarAssets.at(file)`


Answer 2:

在此期间,我发现与此相关的其他职位 - >

无法解决的IntelliJ反向路由方法

我不得不从项目配置中删除一些信息让下面的文件夹,成为源路由的一部分 - >

文件 - >项目结构

在右窗格中选择资源

添加源文件夹目标/斯卡拉-XXX / classes_managed目标/斯卡拉-XXX / src_managed /主



文章来源: Can't get javascriptRoutes to work with Play Framework 2