Модули Загрузки Compass / Sinatra
Я пытаюсь загрузить модули CSS3 и reset в Мои файлы SCSS,но я получаю ошибку при попытке импортировать любой модуль Compass-specific.
Приложение Синатры:
require 'rubygems'
require 'sinatra'
require 'sass'
require 'compass'
configure do
set :scss, {:style => :compact, :debug_info => false}
Compass.add_project_configuration(File.join(Sinatra::Application.root, 'config', 'compass.rb'))
end
get '/css/:name.css' do
content_type 'text/css', :charset => 'utf-8'
scss(:"stylesheets/#{params[:name]}" )
end
Стиль.scss:
@import "compass/reset";
@import "compass/css3";
Сообщение Об Ошибке:
Sass::SyntaxError at /css/style.css
File to import not found or unreadable: compass/reset. Load path: /Users/work/repos/mysite
Есть ли gem, который я могу установить, чтобы автоматически вытащить эти модули,или мне нужно переместить файлы Compass в мое приложение Sinatra?
2 ответа:
После правильной настройки компаса.rb, обычно достаточно добавить что-то вроде:
get '/stylesheets/:name.css' do content_type 'text/css', :charset => 'utf-8' sass params[:name].to_sym, Compass.sass_engine_options end
К вашим маршрутам. интеграция Синатры, пример проекта , или что-то, что вы можете счесть полезным: Лучшая интеграция компаса для Sinatra (извлечено из BigBand)
В модульном модульном приложении я использую что-то вроде:
module Assets # #Sass/Compass Handler class Stylesheets < Sinatra::Base register CompassInitializer get '/stylesheets/:name.css' do content_type 'text/css', :charset => 'utf-8' sass params[:name].to_sym, Compass.sass_engine_options end end end
И у меня в папке
lib
есть файлcompass_plugin.rb
module CompassInitializer def self.registered(app) require 'sass/plugin/rack' Compass.configuration do |config| config.project_path = Padrino.root config.sass_dir = "app/stylesheets" config.project_type = :stand_alone config.http_path = "/" config.css_dir = "public/stylesheets" config.images_dir = "public/images" config.javascripts_dir = "public/javascripts" config.output_style = :compressed end Compass.configure_sass_plugin! Compass.handle_configuration_change! app.use Sass::Plugin::Rack end end
Который бесстыдно украден у Падрино фреймворк