Sinatra是否已经开箱了?

时间:2016-08-12 17:32:30

标签: sass sinatra

我从未与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?

更新: 这是我目前的文件结构:

enter image description here

1 个答案:

答案 0 :(得分:1)

ListView方法的调用需要在路线内,而不是像在这里一样在顶层。你需要这样的东西:

scss

然后在你的其他模板中你会有这样的东西(这个例子是使用Haml):

get '/style'
  scss :stylesheet
end

Sinatra包含渲染Scss和Sass的方法,但不安装gem或自动需要任何东西。