Sass是可用的最成熟,稳定和强大的专业级CSS扩展语言之一。 在使用Sass之前,我们需要在项目中进行设置。
在grails-2.4.X中,通过资产管道插件很容易使用sass。 但是对于grails-2.3.x版本,我们需要遵循以下步骤:
步骤1
curl -sSL https://get.rvm.io | bash -s stable --rails
source ~/.rvm/scripts/rvm
rvm install ruby-2.1.2
rvm list
在以上命令中,我们正在使用“ RVM”安装“ Ruby”。
第2步
安装捆绑包和指南针宝石:
sudo apt-get install gem
gem install bundle
bundle -v
gem install compass
Bundler是Rails 3的默认gem管理器,尽管它可以与任何Ruby项目一起使用,因为它不依赖于框架。
第三步
在项目的根文件夹下添加了名为“ Gemfile”的新文件,其内容如下:
source 'https://rubygems.org'
gem 'compass', '~> 0.13.alpha.0'
group :development do
gem 'guard'
gem 'guard-shell'
end
这样可以确保Gemfile中指定的所有gem及其依赖关系都可用于您的应用程序。
第四步
项目的内部脚本文件夹:
bundle install
运行“捆绑安装”将生成一个Gemfile.lock文件,该文件应添加到您的git存储库中。 Gemfile.lock确保您在Heroku上部署的gem版本与开发计算机上本地安装的版本匹配。
第5步
在scripts目录下创建一个名为'compass-compile'的新脚本文件,其内容如下:
#!/bin/sh
STYLE="compact"
if [ $1 ]
then
STYLE=$1
fi
cd $2
bundle exec compass compile --force --output-style $STYLE --environment production --css-dir web-app/css --sass-dir src/sass --images-dir web-app/images/
在这里,在此脚本中,我们将“ sass”文件编译为“ css”文件。
第6步
在脚本目录下创建一个新的_Events.groovy文件,其内容如下:
import grails.util.Environment
eventCompileEnd = {x ->
if(Environment.currentEnvironment!=Environment.TEST) {
compileSass()
}
}
def compileSass() {
def baseDir = System.getProperty("base.dir")
def command
if(baseDir != null) {
command = """${baseDir}/scripts/compass-compile compact ${baseDir}"""// Create the String
} else {
command = """scripts/compass-compile compact ."""// Create the String
}
def proc = command.execute() // Call *execute* on the string
proc.waitFor() // Wait for the command to finish
if(proc.exitValue() == 0) {
def messages = proc.in.text.split("\n")
messages.each { message ->
event("StatusUpdate",[message])
}
} else {
event("StatusError", ["Problem compiling SASS ${proc.err.text}"])
}
}
当我们运行grails应用程序时,将调用'compileSass()'函数。 此功能使用步骤5中指定的脚本将“ sass”文件编译为“ css”文件。
步骤7
将您的sass文件添加到“ src / sass”目录下。 上面的脚本将“ src / sass”目录下的所有sass文件转换为css文件,并将其复制到wep-app / css目录中。
- 我也为此创建了一个演示应用程序 。
希望能帮助到你!
翻译自: https://www.javacodegeeks.com/2015/02/working-with-sass-scripts-in-grails-2-3-x.html