2016-04-01 28 views
0

Otomatik düzeltici çalışamıyorum. Bu çağrıldı, ancak css kodumda sonuç yok.Sinatra app rayları-autoprefixer nasıl kullanılır?

@assets = Sprockets::Environment.new 
@assets.append_path(@dir.join('app/app/assets/stylesheets')) 
AutoprefixerRails.install(@assets, browsers: ['chrome 25']) 

veya

@dir = Pathname(__FILE__).dirname 
@css = @dir.join('app/app/assets/stylesheets/test.css').read 
AutoprefixerRails.process(@css) 
: https://github.com/ai/autoprefixer-rails

application.rb

class Application < Sinatra::Base 
    # Load path and gems/bundler 
    $LOAD_PATH << File.expand_path(File.dirname(__FILE__)) 
    require "bundler" 
    Bundler.require 
    register Sinatra::AssetPipeline 
    assets = Sprockets::Environment.new 
    AutoprefixerRails.install(assets)  
    ### other 

    # Actual Rails Assets integration, everything else is Sprockets 
    if defined?(RailsAssets) 
    RailsAssets.load_paths.each do |path| 
     settings.sprockets.append_path(path) 
    end 
    end 
end 

Ben mücevher kaynağına baktı ve bulunan bu tür örnekler -

burada Sinatra uygulaması için talimatlar vardır

cevap

1

Görünümüyle, Sprockets düzgün şekilde yapılandırılmamış. Sprockets::Enviroment, öğelerinin yollarının yapılandırılması gereken yolların kullanıldığı bir blok alır.

# app.rb 
require 'autoprefixer-rails' 

assets = Sprockets::Environment.new do |env| 
    # This ensures sprockets can find the CSS files 
    env.append_path "assets" 
end 

AutoprefixerRails.install(assets) 

Sinatra ile çalışmak dişlisi almak için bir adım daha var:

İşte
├── app.rb 
├── assets 
│   ├── some_more_styles.css 
│   └── styles.css 
└── views 
    └── index.erb 

Ben dişlisi çevreyi yapılandırılmış nasıl: Bu benim bu örnek için kullanılan klasör yapıdır. öğelerinin her birinin el ile yönlendirilmesi gerekir. Örneğin, index.erb eğer app.rb tanımlanan değilse yolun /assets/styles.css bir dosyayı yüklemeye çalışan bir <link> etiketi, o rota 404 Not Found hata ile sonuçlanır sahiptir. O 404'lerin önlemek için, şöyle bir yol tanımlar: Ben senin başvuru için https://gist.github.com/kgrz/5caf63f827e5a6181597cefae484a515 tam kodunu yükledim

# app.rb 
get '/assets/*' do 
    # The env["PATH_INFO"] results in the string '/assets/styles.css' in 
    # our example. We need to remove the '/assets' part since Sprockets 
    # will take care of appending it when invoked on the next line. 

    env["PATH_INFO"].sub!("/assets", "") 
    assets.call(env) 
end 

. Bu, Sinatra Recipes article on Sprockets

+0

dayanmaktadır. Yardım için teşekkürler. RailsAssets kullanıyorum bahsetmeyi unuttum. CSS'ye derlenmiş scss dosyalarım var. Bu durumda otomatik düzeltici nasıl kullanılır? – skrypalyk

+0

RailsAssets ile famiyimlar değilim, o yüzden orada çok yardımcı olamaz :( – Kashyap