Sinatra Sass定制目录 [英] Sinatra SASS custom directory

查看:23
本文介绍了Sinatra Sass定制目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何配置Sinatra以使用自定义SCSS目录? 我尝试了以下解决方案,但这对我不起作用。

class SassEngine < Sinatra::Base

set :views, File.dirname(__FILE__) + '/sass'

get '/sass/*.scss' do
    filename = params[:splat].first
    sass filename.to_sym
end

end

推荐答案

实际上官方文档中有专门针对此用例的部分。

为了方便起见,下面是代码(摘自文档):

set :views, :sass => 'views/sass', :haml => 'templates', :default => 'views'

helpers do
  def find_template(views, name, engine, &block)
    _, folder = views.detect { |k,v| engine == Tilt[k] }
    folder ||= views[:default]
    super(folder, name, engine, &block)
  end
end

完成此配置后,您只需执行以下操作:

get '/css/a_css_file.css' do
  sass :a_css_file
end

或更一般的方法:

get '/css/*.css' do
  file = params[:splat].first
  sass file.to_sym
end
虽然最后一种方法不是很好的方法,因为它在以下情况下会导致错误 对不存在的文件调用。

这篇关于Sinatra Sass定制目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆