我从未与Sinatra合作(但我曾与Rails合作过)并且对于是否带有Sass开箱即用而感到困惑,这篇文章here给我的印象是从版本1.1开始但是,所有其他的东西(教程,文章等)给我的印象是需要安装和需要宝石。看docs它似乎确实可以开箱即用。然而,我不清楚如何实施它,它说:
SCSS Templates
Dependency sass
File Extension .scss
Example scss :stylesheet, :style => :expanded
在我的代码中,我将require 'sass'
放在config.ru
的顶部
scss :stylesheet, :style => :expanded
看起来像这样:
require 'sinatra'
require "sinatra/param"
require "json"
require 'sass'
set :raise_sinatra_param_exceptions, true
disable :show_exceptions
disable :raise_errors
scss :stylesheet, :style => :expanded
helpers do
//....stuff
end
然而它似乎没有起作用。 Sass真的是开箱即用吗?如果是这样,我该怎么设置它?或者我是否需要像在Rails中那样安装gem?
更新: 这是我目前的文件结构:
答案 0 :(得分:1)
对ListView
方法的调用需要在路线内,而不是像在这里一样在顶层。你需要这样的东西:
scss
然后在你的其他模板中你会有这样的东西(这个例子是使用Haml):
get '/style'
scss :stylesheet
end
Sinatra包含渲染Scss和Sass的方法,但不安装gem或自动需要任何东西。