有没有办法让sass在生成css文件时忽略多行注释:
// these comments are ignored
这些不是(仅在压缩模式下被忽略):
/*
* multiline comments
*
*/
我找到了这个 ticket在 Github 上,作者说:
If you really want, you can monkeypatch Sass to silence /* */ comments as well.
但是我不知道他所说的 monkeypatch sass 是什么意思,所以我该怎么做呢?
最佳答案
耶!我在回答这个问题时学会了猴子修补 SASS:
Sass mixin recursion; @include loop
现在我也可以帮你了!
1) 安装指南针
要使此解决方案起作用,您需要 Compass .安装它:
gem install compass
2) 配置指南针
在项目的根目录中创建一个 compass.rb
文件,并定义保存 SASS 和 CSS 代码的目录,例如。例如:
css_dir = "stylesheets"
sass_dir = "sass"
3) 创建一个 monkey patch
在项目的根目录中创建一个名为 remove-all-comments-monkey-patch.rb
的文件:
class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
# Removes all comments completely
def visit_comment(node)
return []
end
end
4) 从 config.rb
获取猴子补丁
在config.rb
中,添加:
# Removing all comments by applying a monkey patch to SASS compiler
require "./remove-all-comments-monkey-patch"
5) 用Compass编译你的项目
使用compass compile
将SASS编译成CSS。您还可以使用 compass watch
让 Compass 命令行工具持续监控您的代码更改并重新编译您修改的部分。
注意事项
这不会删除带有 SASS 生成的行号的注释。要禁用它们,请注释掉 config.rb
中的 line_comments = true
行或将其设置为 false。
要重新启用多行注释,只需注释掉需要 monkey 补丁的行并执行 compass clean
。
不要使用它!使用 Ctrl+/进行单行注释。
尽管此解决方案是可移植的,并且无需手动破解 SASS 代码即可适用于所有人,但您确实应该考虑使用一种 IDE,它允许使用单行注释来使用一次击键来注释整个段落。对我来说是 Ctrl
+/
。
在这里,我为您拍摄了一段短视频,以展示使用行注释实际上比使用多行注释更快更有效:http://www.youtube.com/watch?feature=player_detailpage&v=DTyMAPZrwyc
行注释还可以让您在不破坏代码的情况下注释掉注释。
假设您有以下代码:
foo
/* Bla bla */
bar
baz
并且您需要将其全部注释掉。如果你用 /* */
...
/*foo
/* Bla bla */
bar
baz*/
...那么你破解了密码!现在您有一个以 /*foo
开头并以 bla */
结尾的注释,并且在 baz*/
处还有一个语法错误。
相反,只需选中整个代码并按 Ctrl
+/
(前提是使用某些 IDE 或程序员的记事本),它会立即全部被注释掉:
//foo
//
///* Bla bla */
//bar
//
//baz
当然,以后可以使用相同的热键取消注释。
关于ruby - 如何忽略sass中的多行注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720434/