8

我正在做一个 Compass 项目,我最终的 css 输出是巨大的,所以它需要得到祝福

我正在使用 Codekit 来编译我的 SCSS 文件,它具有用于 less 和 sass 文件的 bless 选项,但不幸的是,此选项似乎不适用于 compass 项目(顺便说一句,没有解决问题的解决方法https://github .com/bdkjones/CodeKit/issues/163

在编译过程之后是否有另一种方法可以自动执行此操作?是不是可以用nodejs看css文件然后祝福呢?

==================================================== ==

更新

我不再使用 Codekit 我使用 Grunt 来构建项目资产,它就像一个魅力。

4

4 回答 4

3

好吧,似乎使用此参考,您可以简单地执行以下操作:

on_stylesheet_saved do |filename|
    system('blessc ' + File.basename(filename))
end

安装Bless后。

它所做的只是在编译 Compass 文件后附加该事件 :) 享受

于 2012-11-06T22:37:03.147 回答
1

这适用于常规编译命令,但在您观看时不起作用。Bless 完成后,watch 过程结束。

于 2012-11-28T15:47:12.777 回答
0

我发现 blessc 不会执行,我会得到以下两个错误之一:

config.rb:没有这样的文件或目录 - blessc(无论文件名)

或者

env:节点:没有这样的文件或目录

事实证明这是因为 blessc/node.js 安装在 /usr/local/bin 中,而这不在 ruby​​ exec (/usr/bin:/bin:/usr/sbin:/sbin) 的 PATH 变量中。以下代码有效:

on_stylesheet_saved do |filename|
  exec('PATH=$PATH:/usr/local/bin; blessc ' + filename + ' -f')
end

编辑添加:如果在此之后您收到错误说文件不是来自 bless 的 css,请检查您的文件的绝对路径是否包含空格。您可以通过执行以下操作来转义空白:

on_stylesheet_saved do |filename|
  exec('PATH=$PATH:/usr/local/bin; blessc ' + (filename.gsub! ' ', '\ ') + ' -f')
end
于 2013-10-22T15:18:33.910 回答
0

您可以尝试以下代码块,我对Julian Xhokaxhiu的回答进行了一些更改:

on_stylesheet_saved do |filename|
  begin
    puts "Counting number of selector in :: " + filename
    result = system('blessc',filename,'-f')

    if not result
      Kernel.exit(false)
    else
      puts "Blessed the file to support Older version of IE."
    end

  rescue Exception => e
    puts "Please install bless.\nsudo npm install -g bless."
    Kernel.exit(false)
  end
end
于 2015-12-21T10:43:29.163 回答