Rails 5.2 рендеринг только при включении таблицы стилей или JavaScript - PullRequest
0 голосов
/ 28 июня 2018

У меня есть приложение на Rails 5.2, в котором есть очень странная ошибка, из-за которой, если я добавлю тег стилей или тег javascript, он вообще ничего не отобразит без ошибок или сообщений об ошибках в консоли.

Полностью пустой макет:

<!DOCTYPE html>
<html>
  <head>
    <title>App</title>
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>

  <body>
    <%= yield %>
  </body>
</html>

Фактический объем производства:

<html><head></head><body></body></html>

Я могу это исправить, сделав:

<!DOCTYPE html>
<html>
  <head>
    <title>App</title>
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>
  </head>

  <body>
    <%= yield %>
  </body>
</html>

Идеи

Предполагается, что доходность составляет <%= javascript_pack_tag 'landing_app' %>

И когда я просто удаляю тег включения javascript, он все равно будет сломан. Единственный раз, когда это работает, если я удаляю оба тега Тогда приложение React будет рендериться, но без стилей, которые мне нужны для приложения.

  • У меня нет настроек кэширования.
  • Я удалил каталог tmp.
  • Я пытался удалить турболинки.
  • Я добавил тег h1 в макет, и это все еще не будет печатать.
  • Я пытался отключить загрузчики CSS и JS для веб-упаковщика
  • Я пытался удалить public / packs

Редактировать

Я думаю, что я к чему-то. Если я удалю все внутри application.css, он будет отображаться. Я думаю, что может быть некоторый конфликт между CSS приложения и CSS веб-упаковщика. Нет большой ясности в том, почему в webpacker не встроены загрузчики CSS. Кроме того, довольно странно, что CSS может полностью оторвать приложение от рендеринга.

Я сократил его до одной строки, *= require_tree ., очевидно, ломает приложение. Я ... я понятия не имею, почему.

Возможное решение

Не используйте *= require_tree .. Вручную, мне приходится импортировать каждый CSS-файл. Кажется глупым. Ну что ж.

1 Ответ

0 голосов
/ 30 июня 2018

Извинения; это не полный ответ на вопрос, но у меня недостаточно репутации, чтобы оставить простой комментарий. Пойди разберись ¯ \ _ (ツ) _ / ¯.

Не очень понятно, почему в webpacker не встроены загрузчики CSS.

Просто хотел уточнить, что в Webpacker есть встроенные загрузчики CSS. Вот список загрузчиков по умолчанию: https://github.com/rails/webpacker/blob/a2aa7399f4bc2b9ca2cd035bf456a78a054dba07/package/rules/index.js#L9-L14

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...