有没有办法让 sass 在生成 css 文件时忽略多行注释:
// these comments are ignored
这些不是(仅在压缩模式下被忽略):
/*
* multiline comments
*
*/
我在 Github 上找到了这张票,作者说:
如果你真的想要,你也可以对 Sass 进行猴子补丁以使 /* */ 评论静音。
但我不知道他所说的monkeypatch sass是什么意思,那我该怎么做呢?
耶!我在回答这个问题时学习了猴子修补 SASS:
现在我也可以帮你!
要使此解决方案起作用,您需要Compass。安装它:
gem install compass
在项目的根目录中创建一个compass.rb
文件并定义保存 SASS 和 CSS 代码的目录,例如:
css_dir = "stylesheets"
sass_dir = "sass"
创建一个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
config.rb
在 中config.rb
,添加:
# Removing all comments by applying a monkey patch to SASS compiler
require "./remove-all-comments-monkey-patch"
用于compass compile
将 SASS 编译成 CSS。您还可以使用compass watch
Compass 命令行工具不断监视您的代码是否有更改并重新编译您修改的部分。
这不会删除带有由 SASS 生成的行号的注释。要禁用它们,请注释掉该line_comments = true
行config.rb
或将其设置为 false。
要重新启用多行注释,只需注释掉需要猴子补丁的行并执行compass clean
.
尽管此解决方案是可移植的,并且无需手动破解 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
当然,以后可以使用相同的热键取消注释。
您可以将评论包装在未使用的 @mixin 中 - 这不是一个理想的修复方法,但它可以工作。
@mixin ignore {
/*
COMMENT
*/
}