如何忽略sass中的多行注释?
生成css文件时有没有办法让sass忽略多行注释:
// these comments are ignored
这些不是(仅在压缩模式下被忽略):
/* * multiline comments * */
我在Github上找到了这张票 ,作者说:
如果你真的想要,你可以monkeypatch Sass沉默/ * * /评论。
但是我不知道monkeypatch sass的含义是什么,所以我怎么能这样做呢?
好极了! 在回答这个问题时,我学会了猴子修补SASS:
Sass mixin递归; @include循环
现在我也可以帮助你!
1)安装指南针
要使此解决方案起作用,您需要Compass 。 安装它:
gem install compass
2)配置指南针
在项目的根目录中创建一个compass.rb
文件,并定义保存SASS和CSS代码的目录,例如:
css_dir = "stylesheets" sass_dir = "sass"
3)创建一个猴子补丁
在项目的根目录中创建一个名为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
的monkey patch
在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。
要重新启用多行注释,只需注释掉需要猴子补丁的行并compass clean
。
不要用它! 使用Ctrl + /单行注释。
虽然这个解决方案是可移植的,并且可以在不手动攻击SASS代码的情况下为所有人工作,但您应该考虑使用一个IDE,它允许使用单个按键使用单行注释来注释掉整个段落。 对我而言,它是Ctrl
+ /
。
在这里,我为您拍摄了一段简短video,表明使用行注释实际上比使用多行注释更快更有效: 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
当然,以后可以使用相同的热键取消注释。