1

我想通过注释/取消注释以下行来加载/卸载特定的 css 调试 bulma 结构stylesheet_link_tag

# app/view/layouts/application.html.erb
...
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>

    <%# Bulma %>
    <%= stylesheet_link_tag 'https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css', media: 'all' %>
    <%# Debugger on/off by comment/uncomment %>
    <%# <%= stylesheet_link_tag 'bulma/debug' %> <- this line!
    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
...

我的样式表目录树是这样的:

app/assets/stylesheets/
├── application.css
├── bulma
│   ├── debug.css
│   └── grid.css
└── posts.scss

但是当我像上面那样评论那一行时,css文件被加载(以及grid.css)。

我认为link_directory只有样式表目录,不能递归加载:

# app/assets/config/manifest.js
//= link_tree ../images
//= link_directory ../stylesheets .css

所有其他配置默认为 Rails 6.1.3。

为什么 app/assets/stylesheets/bulma/debug.css 会自动加载,我该如何禁用它?

4

1 回答 1

1

在你的 application.css 文件中,你可能有这样一行,*= require_tree .这将自动包含你的 app/assets/stylesheets 目录中的所有内容。

尝试在该行之后的下方添加类似*= stub 'bulma/debug'. 这应该会阻止文件加载。

它目前不在 rails 官方 rails 文档中(据我所知),但您可以在 Github 上stub找到相关的 Sprockets 方法。

于 2021-03-08T05:52:56.747 回答