Rails 5.2仅在包含样式表或javascript

时间:2018-06-28 05:14:15

标签: ruby-on-rails ruby

我有一个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 include标签时,它仍然会损坏。唯一可行的方法是删除两个标签。然后,React应用程序将呈现,但显然没有该应用程序所需的样式。

  • 我没有缓存设置。
  • 我已经删除了tmp目录。
  • 我尝试删除涡轮链接。
  • 我已经在布局中添加了h1标签, 将不会打印。
  • 我尝试为webpacker禁用CSS和JS加载程序
  • 我尝试删除公共/包

修改

我认为我正在做某事。如果删除application.css内的所有内容,它将呈现。我认为应用程序CSS和webpacker CSS之间可能存在一些冲突。为什么webpacker没有内置CSS加载器并不清楚,而且CSS有点奇怪,可以使应用程序无法完全呈现。

我已将其简化为一行,*= require_tree .显然破坏了应用程序。我...我不知道为什么。

可能的解决方案

请勿使用*= require_tree .。手动地,我必须导入每个CSS文件。似乎很愚蠢。那好吧。

1 个答案:

答案 0 :(得分:0)

道歉;这不是问题的完整答案,但我没有足够的声誉来发表简单的评论。转到图¯\ _(ツ)_ /¯。

  

关于为什么webpacker没有内置CSS加载器的内容,我们并不清楚。

只是想说明一下Webpacker 确实具有内置的CSS加载器。以下是默认加载程序的列表:https://github.com/rails/webpacker/blob/a2aa7399f4bc2b9ca2cd035bf456a78a054dba07/package/rules/index.js#L9-L14