Хобрук: Ваш путь к мастерству в программировании

Статический HTML-код Grails 3.0 в приложении запуска

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

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

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

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

Мне нужно делать http-запросы, поэтому использование другого сервера нарушит JS-SOP, а развертывание .war сильно замедлит процесс разработки.

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

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

14.07.2015

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

Ответы:


1

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

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

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


Для Grails >= 3.0.12

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

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

grails.resources.pattern = '/**'

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

15.07.2015
  • Я искал, куда поместить этот шаблон в Grails 3.1.7. Это в application.yml, grails: resources: pattern: '/**' 25.05.2016

  • 2

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

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

    application.yml grails: resources: pattern: '/**'

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

    10.08.2017
  • Это в Grails 3.1.14, FWIW 15.08.2017
  • Новые материалы

    Я собираюсь научить вас Python шаг за шагом
    Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

    Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
    Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

    Ториго  — революция в игре Го
    Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

    Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
    Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

    Математика и интуиция - Часть 1
    У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..