Quasar Spring Boot Deployment

Моя учебная группа и я собираем сервер с помощью платформы весенней загрузки. Я собрал свой квазар-проект и упаковал index.html из / dist в папку шаблонов проекта Spring. Все остальные файлы из / dist я упаковал в src\main\resources\static из проекта Spring. Теперь я хочу вернуть созданную мной страницу входа из проекта квазар. К сожалению, я просто получаю код Index.html в консоли:

Ресурс интерпретируется как Документ, но передается с использованием MIME-типа text / javascript: " http://localhost:8080/".

Вот мой Index.html, может быть, это поможет:

<!DOCTYPE html>

<html>
    <head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="msapplication-tap-highlight" content="no" />
    <meta name="viewport" content="user-scalable=no,initial-scale=1,maximum-    scale=1,minimum-scale=1,width=device-width" />
    <title>Quasar App</title>
    <link rel="shortcut icon" type="image/x-icon" href="statics/favicon.ico" />
    <link href="app.7d472f6ee58ddd9e9299c9b7cfcf0c2b.css" rel="stylesheet" />
</head>
<body>
    <div id="q-app"></div>
    <script type="text/javascript" src="js/manifest.js"></script>
    <script type="text/javascript" src="js/vendor.js"></script>
    <script type="text/javascript" src="js/app.js"></script>
</body>
</html>

2 ответа

Поместите файлы сборки quasar в main / resources / static вашего проекта.

Когда вы запускаете приложение Spring Boot в режиме разработки, Spring Boot автоматически берет ваш индексный файл.

В производстве вы просто упаковываете в файл jar, используя сборку maven

Я бы не рекомендовал Spring framework или Java в целом для любого бэкэнда в 2019 году, особенно если вы используете что-то столь же мощное и простое в использовании, как Quasar Framework... Spring - это как поставить деревянные колеса на Tesla. Весна - это попытка вдохнуть новую жизнь в совершенно старую парадигму. Если вы не знаете только Java и не можете использовать JavaScript для спасения своей жизни, я бы отказался от Spring, как только вы сможете.

Я бы порекомендовал FeathersJS или Express для вашего бэкэнда. Вы станете намного счастливее и сможете сделать гораздо больше за меньшее время. Используя Feathers, вы можете создать страницу в реальном времени за 5 минут и связать свое приложение с системой аутентификации пользователей за 10, при этом меньше строк кода.

Вы также можете попробовать Strapi, Action Hero, Molleculer и многие другие. Все они намного лучше Spring.

Однако вы используете Spring:) Итак, вот как исправить вашу проблему, если вы хотите продолжать ее использовать...

Похоже, вы используете Spring для распространения файла index.html, но он настроен на возврат полезной нагрузки JSON.

Измените конфигурацию Spring следующим образом: html=text/html и добавить produces = MediaType.TEXT_HTML_VALUE тебе @RequestMapping аннотация.

если вы используете старую версию spring, вам нужно будет сделать следующее:

response.setContentType("text/html"); response.getWriter().println(...)

... и опустите аннотацию @ResponseBody

Другие вопросы по тегам