将时间戳添加到已编译的sass/scss中

bud*_*dji 10 css sass compass-sass

是否可以使用SASS在已编译的CSS文件上自动添加时间戳?例如

/* CSS Compiled on: {date+time} */
...compiled css goes here...
Run Code Online (Sandbox Code Playgroud)

我已经检查了SASS和Compass文档,但没有提到这样的功能.

hop*_*per 16

我不知道有任何内置的SASS或Compass功能,但是添加自定义Ruby功能并不难.(请参阅此处 SASS参考中标题为" 添加自定义功能 " 的部分.)

你使用Ruby函数的文件看起来像这样(我们称之为"timestamp.rb"):

module Sass::Script::Functions
    def timestamp()
        return Sass::Script::String.new(Time.now.to_s)
    end
end
Run Code Online (Sandbox Code Playgroud)

并且您将在SASS文件中引用新的时间戳功能,如下所示:

/*!
 * CSS Compiled on: #{timestamp()}
 */
Run Code Online (Sandbox Code Playgroud)

您只需要确保在编译SASS时加载"timestamp.rb"文件,方法是从Compass配置文件中请求它,或者使用--require带有SASS命令行的参数.完成所有操作后,您应该获得如下输出:

/*
 * CSS Compiled on: 2012-10-23 08:53:03 -0400
 */
Run Code Online (Sandbox Code Playgroud)

  • @barraponto在config.rb文件中包含一行代码(假设timestamp.rb与config.rb在同一目录中):`require File.join(File.dirname(__ FILE__),'timestamp.rb')` (3认同)