2015-07-14 3 views
10

подобные вопросы заданы раньше, касаясь грааля 2 (.3, .4). Мне странно, что я не мог найти способ сделать это, поскольку для меня это стандартный случай использования.Grails 3.0 static html в run-app

Я просто хочу обслуживать html-страницы, включая связанные с ними .css и .js (угловой и jquery-контент), когда я запускаю grails run-app.

Я хочу проверить, правильно ли обработаны мои http-звонки с обеих сторон - без необходимости развертывания .war и настройки базы данных.

afaik grails run-app просто запускает причал/tomcat - оба из которых, очевидно, могут служить .html-страницами. Что мне нужно сделать, чтобы инструмент разработки графики Grails развернул мои файлы?

мне нужно сделать HTTP-запросов, поэтому использование другого сервера будет нарушать JS-СОП, во время развертывания .war бы значительно замедлить процесс развития

Я до сих пор можно найти только неуклюжим JSONP , прокси, .war развертывания решения или решения для Grails 2.x

Я пытался размещения файлов буквально повсюду в структуре проектов (/src/main, /src/main/resources, /src/main/public, папка активов и ее подпапок, создали веб-приложение каталогов в каждом подкаталоге, директории Init, domain, conf - вы называете это)

+0

ли вы когда-нибудь выяснить, как загрузить связанный '' CSS' и js' файлы в ваших статических 'файлов HTML' в то время как сохраняя ваш 'HTML' в каталоге' src/main/resources/public'? Например, grails хранит мой 'bootstrap.css' под' grails-app/assets/bower/bootstrap/bootstrap.css'. Поэтому ссылка на это в моем статическом «HTML» оказывается сложной. – Andrew

ответ

13

Добавьте index.html к src/main/resources/public

Затем добавьте в UrlMappings.groovy:

"/"(redirect:"/index.html") 


Для Граалей> = 3.0.12

Расположение статических ресурсов

В порядок решения проблемы ue вокруг того, как обрабатываются запросы POST для REST-приложения на несуществующих ресурсах, статические ресурсы, расположенные в src/main/resources/public, теперь разрешены по умолчанию/**/URI по умолчанию вместо базового URI/**. Если вы хотите, чтобы восстановить предыдущее поведение добавить следующую конфигурацию:

grails.resources.pattern = '/ **'

https://github.com/grails/grails-core/releases/tag/v3.0.12

+1

Я смотрел, где положить этот узор в гравёрах 3.1.7. Он находится в 'application.yml',' grails: Ресурсы: pattern: '/ **' ' – Guus

2

Вопреки принятому ответу, вы не нужна переадресация. Я сделал в состоянии сделать эту работу с помощью следующей конфигурации:

UrlMappings.groovy "/"(uri: "/index.html")

применение.YML grails: resources: pattern: '/**'

Наконец, вам просто необходимо иметь файл index.html, расположенный под src/main/webapp

+0

Это в Grails 3.1.14, FWIW –