我无法更改LESS用于包含导入的路径。我的路线文件有
get "/css/main.css" do
less :main, :paths => ["public/css"]
end
但是,如果我在样式表中包含带有@import
的外部较少文件,则LESS编译器无法找到该文件。我在views
路径和public/css
目录中都放了一个副本,但它仍然无法找到它。但它可以在public\css
中找到简单的.css文件。
答案 0 :(得分: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
答案 1 :(得分: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
您必须使用less替换scss才能使其正常工作。
答案 2 :(得分:0)
将选项传递给Less应通过此提交70465f9进行修正。
如果您使用的是捆绑包,请在Gemfile
中添加以下行以解决问题:
gem 'tilt', :git => 'git://github.com/rtomayko/tilt.git'