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

Pie*_*rre 4 ruby comments sass

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

// these comments are ignored
Run Code Online (Sandbox Code Playgroud)

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

/*
 * multiline comments
 *
 */
Run Code Online (Sandbox Code Playgroud)

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

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

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

And*_*aus 17

好极了!我在回答这个问题时学会了猴子补丁SASS:

Sass mixin递归; @include循环

现在我也可以帮助你!

1)安装指南针

要使此解决方案正常工作,您需要Compass.安装它:

gem install compass
Run Code Online (Sandbox Code Playgroud)

2)配置指南针

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

css_dir = "stylesheets"
sass_dir = "sass"
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

4)要求猴子补丁 config.rb

config.rb,添加:

# Removing all comments by applying a monkey patch to SASS compiler
require "./remove-all-comments-monkey-patch"
Run Code Online (Sandbox Code Playgroud)

5)使用Compass编译项目

用于compass compile将SASS编译为CSS.您还可以使用compass watchCompass命令行工具持续监视代码以进行更改并重新编译您修改的部分.

注意事项

这不会删除由SASS生成的行号的注释.要禁用它们,请注释掉该line_comments = trueconfig.rb或将其设置为false.

要重新启用多行注释,只需注释掉需要猴子补丁的行即可compass clean.

不要用它!使用Ctrl + /单行注释.

虽然这个解决方案是可移植的,并且可以在不手动攻击SASS代码的情况下为所有人工作,但您应该考虑使用一个IDE,它允许使用单个按键使用单行注释来注释整个段落.对我而言,这是Ctrl+ /.

在这里,我为您拍摄了一段简短的视频,表明使用行注释实际上比使用多行注释更快更有效:http://www.youtube.com/watch? feature = player_detailpage&v = DTyMAPZrwyc

行注释还允许您在不破坏代码的情况下注释掉注释.

考虑您有以下代码:

foo

/* Bla bla */
bar

baz
Run Code Online (Sandbox Code Playgroud)

你需要对它进行全面评论.如果你用/* */... 包装它

/*foo

/* Bla bla */
bar

baz*/
Run Code Online (Sandbox Code Playgroud)

...然后你打破了代码!现在你有一个以及开头/*foo和结尾的注释bla */,以及一个语法错误baz*/.

相反,只需选择整个代码并点击Ctrl+ /(如果使用某些IDE或程序员的记事本),它将立即被注释掉:

//foo
//
///* Bla bla */
//bar
//
//baz
Run Code Online (Sandbox Code Playgroud)

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