2012-03-07 31 views
2

我無法更改LESS用來包含導入的路徑。我的路線文件有在Sinatra應用程序中解析LESS選項

get "/css/main.css" do 
    less :main, :paths => ["public/css"] 
end 

但是,如果我包括與@import外部文件少在我的樣式表的LESS編譯器無法找到該文件。我已在views路徑和public/css目錄中放置了一個副本,但仍無法找到它。但它可以在public\css中找到普通的.css文件。

回答

0

您可以使用這樣的事情在這裏,我用它來拿起所有.css文件是否SCSS或純CSS(即它會在首次公開默認情況下,然後繼續前進的觀點來檢查):

get '/css/:file.css' do                                    
    halt 404 unless File.exist?("views/#{params[:file]}.scss")                           
    time = File.stat("views/#{params[:file]}.scss").ctime                            
    last_modified(time)                                     
    scss params[:file].intern                                   
end 

你必須用較少的代替scss來使它工作。

1

我今天這個打擊,並且能夠解決它像這樣:

require 'less' 
require 'sinatra/base' 

class App < Sinatra::Base 
    # Make LESS @import statements work 
    Less.paths << settings.views 

    # Use LESS for CSS 
    get '/stylesheets/:style.css' do 
    less(params[:style].to_sym) 
    end 
end 
0

傳遞選項,更不應爲此而固定在傾斜提交70465f9

如果使用捆綁,把下面的一行到你的Gemfile應該解決的問題:

gem 'tilt', :git => 'git://github.com/rtomayko/tilt.git' 
相關問題