如何忽略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.rbline_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 

当然,以后可以使用相同的热键取消注释。