2011-02-13 31 views
12

我想将一个Sass文件链接到Sinatra应用程序。我有一个public/sass/styles.scss文件,我正试图将其链接到我的views/layout.haml文件中。我能在我的layout.haml链接使用下面的链接经常css文件:%link(rel="stylesheet" href="styles.css")。但是,当我尝试链接到我的sass/styles.scss时,它不起作用。有人可以告诉我如何在Sinatra应用程序中链接Sass css文件吗?谢谢!如何链接Sinatra应用程序中的Sass文件?

回答

6

你不链接SCSS,像SASS一个SCSS是不是应该由浏览器来解释一个文件,你需要一个编译器处理此文件,并将其转换为CSS。

您需要指南针宝石从你的SCSS自动生成的css,然后你链接的CSS,你是指你有西纳特拉指南针配置的例子之前

这里:

https://github.com/chriseppstein/compass/wiki/Sinatra-Integration

+1

他并不需要一个单独的宝石编译SCSS因为萨斯有内置的。指南针看起来真的很有趣,虽然。 – 2011-02-14 04:24:11

+0

这种联系说:“如果你把你的样式表‘的意见/样式表/’目录,而不仅仅是‘的意见/’,记得要相应地更新`sass_dir`配置。”这到底是什么意思呢?'sass_dir`部分 – JGallardo 2014-01-07 19:53:22

16

您不需要使用单独的gem编译您的.scss文件,Sass具有内置的。

sass --watch style.scss:style.css将设置萨斯每当得到改变自动编译style.scss到style.css中。从Sass website,

现在无论何时您更改style.scss,Sass都会自动更新style.css中的更改。后来,当你有几个萨斯文件上,你还可以观看整个目录

13

你可以这样做:

get '/stylesheets/*.css' do 
    content_type 'text/css', :charset => 'utf-8' 
    filename = params[:splat].first 
    sass filename.to_sym, :views => "#{settings.root}/assets/stylesheets" 
end 
42

您可以使用Sass::Plugin::Rack

首先安装萨斯宝石。

添加在你的Gemfile,如果您使用的捆扎机:gem 'sass'

在你config.ru附加:

require 'sass/plugin/rack' 

Sass::Plugin.options[:style] = :compressed 
use Sass::Plugin::Rack 

然后在public/stylesheets/sass/创建一个文件夹,并删除所有你.scss和.sass文件存在。

这将创建public/stylesheets/

例如相应的CSS:public/stylesheets/sass/style.scss会产生public/stylesheets/style.css

就是这样,你可以改变从默认的路径,并更改reference docs

提到的其他选项
相关问题