Подтвердить что ты не робот

Play Framework: разделенные маршруты в нескольких файлах без подпроектов

Мой игровой проект массивный, а файл маршрутов - около 1 Мб. Теперь, когда компиляция scala, у меня есть исключение "Слишком большой код метода" из-за маршрутизации и обратной маршрутизации scala файлов, созданных из файла маршрутов (также больших).

Итак, мне нужно разбить файл маршрутов без подпроектов. В самом деле, я не могу разделить мой проект на подпроекты, потому что его компоненты взаимозависимы.

Я попробовал 2 метода:

  • Я добавил новый файл conf, называемый technical.routes, добавляет некоторые маршруты внутри, удаляет те же маршруты из "маршрутов" и импортирует файл с помощью "- > technical.Routes", Все компилируется, у меня нет моего предыдущего исключения, но что-то не так, потому что когда он прекращает компиляцию, он начинается снова и снова... и никогда не заканчивается.

  • Я добавил новый файл conf, называемый technical.routes, добавляет некоторые маршруты внутри, удаляет одни и те же маршруты из "маршрутов", но вместо импорта в мой основной файл маршрутов я добавил его в файл conf: "application.router =" routes, technical.routes "". Но он не работает, потому что здесь должен быть объявлен только один маршрут.

Как это сделать, пожалуйста?

4b9b3361

Ответ 1

Ну, первый метод работает. Я начал с нуля, и это сработало. Я сделал чистую команду перед командой компиляции. Похоже, что старые скомпилированные файлы стали причиной моей проблемы.

Будьте осторожны с тем, что в файлах маршрутов нельзя совместить имена пакетов. Например. в этом примере файл 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()

Ответ 2

Если ваше имя файла - technical.routes, включая файл, укажите технические. Routes (caps).

Параметр after → является префиксом url, поэтому для доступа к любому URL-адресу файла technical.routes вам нужно добавить префикс.

http://127.0.01/ технический/{определенный url в файле technical.routes}