如何忽略sass中的多行注释?

时间:2013-03-30 15:50:50

标签: ruby comments sass

生成css文件时有没有办法让sass忽略多行注释:

// these comments are ignored

这些不是(仅在压缩模式下被忽略):

/*
 * multiline comments
 *
 */

我在Github上找到了这个ticket,作者说:

  

如果你真的想要,你可以monkeypatch Sass沉默/ * * /评论。

但是我不知道monkeypatch sass的含义是什么,所以我怎么能这样做?

2 个答案:

答案 0 :(得分:17)

耶!我在回答这个问题时学会了猴子修补SASS:

Sass mixin recursion; @include loop

现在我也能帮助你!

1)安装Compass

要使此解决方案有效,您需要Compass。安装时使用:

gem install compass

2)配置Compass

在项目的根目录中创建一个compass.rb文件,并定义保存SASS和CSS代码的目录,例如: G:

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生成的行号的注释。要禁用它们,请在line_comments = true中注释掉config.rb行,或将其设置为false。

要重新启用多行注释,只需注释掉需要使用猴子补丁的行并执行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

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

答案 1 :(得分:0)

您可以将评论包装在未使用的 @mixin 中 - 不是一个理想的解决方案,但它有效。

@mixin ignore {
    /*
      COMMENT
    */
}