css - 在 rails6 开发中禁用加载所有样式表
问题描述
我想通过注释/取消注释以下行来加载/卸载特定的 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 会自动加载,我该如何禁用它?
解决方案
在你的 application.css 文件中,你可能有这样一行,*= require_tree .
这将自动包含你的 app/assets/stylesheets 目录中的所有内容。
尝试在该行之后的下方添加类似*= stub 'bulma/debug'
. 这应该会阻止文件加载。
它目前不在 rails 官方 rails 文档中(据我所知),但您可以在 Github 上stub
找到相关的 Sprockets 方法。
推荐阅读
- docker - docker:格式错误的环境:变量包含空格
- python - python中的部分方法继承/装饰器
- yaml - AWS CF !如果失败
- ios - 激光雷达的 ARKit 3.5 人体跟踪
- mongodb - 我在哪里可以下载具有 MongoDB Reactive Streams Driver 功能的 MongoDb Java Driver 4.0.1 并设置 Spring Data 以使用它
- database - Citus 与 jsonb 关系的协同定位
- mysql - 将文本文件(具有结构文本格式)导入mysql工作台?
- python - Selenium 的 webdriver.Chrome() 从 Python 的 CMD 实例打开就好了,但从 Spyder 运行时抛出错误
- c - 在 Ubuntu WSL 中出错
- mysql - MySQL INSERT AFTER 触发器将行复制到另一个数据库