Play Framework:在没有子项目的情况下拆分多个文件中的路径

问题描述 投票:22回答:2

我的游戏项目非常庞大,路线文件约为1Mb。现在,当scala编译时,由于路由和从我的路由文件创建的反向路由scala文件(也很大),我有“方法代码太大”的异常。

所以,我需要在没有子项目的情况下拆分我的路径文件。实际上,我不能将我的项目分成子项目,因为它的组件是相互依赖的。

我尝试了两种方法:

  • 我添加了一个名为technical.routes的新conf文件,在里面添加一些路由,从“routes”中删除相同的路由,然后用“ - > technical.Routes”导入文件。所有编译,我没有我以前的例外,但是有些事情是错误的,因为当它停止编译时,它会一遍又一遍地开始......并且永远不会结束。
  • 我添加了一个名为technical.routes的新conf文件,在里面添加一些路由,从“routes”中删除相同的路由,但是不是在我的主路由文件中导入它,我在conf文件中添加了它:“application.router =” routes,technical.routes“”。但它不起作用,因为这里只能声明一条路线。

请问怎么办?

playframework playframework-2.0
2个回答
24
投票

嗯,第一种方法是有效的。我从零开始,它起作用了。我在编译命令之前做了一个干净的命令。似乎旧的编译文件是我的问题的原因。

请注意,路径文件中的包名称不能重叠。例如。在此示例中,technical.routes文件包含controllers.technical中的所有路由,主路由文件不能包含controllers.technical包中的任何路由。

conf/routes内容:

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

->  /technical technical.Routes

GET     /        controllers.Dashboard.index()

conf/technical.routes内容:

# Routes
# ~~~~

GET     /        controllers.technical.App.index()

4
投票

如果您的文件名是technical.routes,则在包含该文件时,请提及technical.Routes(caps)。

- >后面的参数是url前缀,因此要访问technical.routes文件的任何url,需要添加前缀。

http://127.0.01/technical / {在technical.routes文件中定义的url}

© www.soinside.com 2019 - 2024. All rights reserved.