生成css文件时有没有办法让sass忽略多行注释:
// these comments are ignored
这些不是(仅在压缩模式下被忽略):
/*
* multiline comments
*
*/
我在Github上找到了这个ticket,作者说:
如果你真的想要,你可以monkeypatch Sass沉默/ * * /评论。
但是我不知道monkeypatch sass的含义是什么,所以我怎么能这样做?
答案 0 :(得分:17)
耶!我在回答这个问题时学会了猴子修补SASS:
Sass mixin recursion; @include loop
现在我也能帮助你!
要使此解决方案有效,您需要Compass。安装时使用:
gem install compass
在项目的根目录中创建一个compass.rb
文件,并定义保存SASS和CSS代码的目录,例如: G:
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
当然,以后可以使用相同的热键取消注释。
答案 1 :(得分:0)
您可以将评论包装在未使用的 @mixin 中 - 不是一个理想的解决方案,但它有效。
@mixin ignore {
/*
COMMENT
*/
}