我无法弄清楚如何做到这一点。我所有主要的.less文件都在/app/css/less
,@导入文件在/app/css/less/bootstrap
。我的主要样式表是/app/css/less/style.less
,它应该被编译为'/public/css/style.css'。Sinatra-assetpack无法编译经典类型Sinatra应用中的较少文件
使用经典西纳特拉应用程式结构(未碱),我已经在各种文件(无关代码遗漏)执行以下操作: ****的Gemfile
# encoding: utf-8
source :rubygems
gem 'sinatra'
gem 'thin'
gem 'less'
gem 'therubyracer'
gem 'haml', '~> 3.2.0.rc.1'
gem 'sinatra-partial'
gem 'sinatra-assetpack', :git => 'git://github.com/rupe/sinatra-assetpack.git', :require => 'sinatra/assetpack'
**** myapp.rb
# encoding: utf-8
require 'rubygems'
require 'bundler/setup'
require 'sinatra'
require 'haml'
require 'sinatra/partial'
require 'sinatra/assetpack'
require 'less'
assets do
Less.paths .lt.lt "#{settings.root}/app/css/less"
Less.paths .lt.lt "#{settings.root}/app/css/less/bootstrap"
serve '/css', from: '/app/css/less'
css :style, [
'/css/style.css'
]
prebuild true
end
**** layout.haml
!= css :style, :media => 'screen'
将会产生这个样式表在SER相关标签ved up html:
link rel="stylesheet" href="/css/style.496718.css" media="screen"
但实际上并没有编译文件style.49718.css
。实际上,它根本不编译任何文件。
注意:在Gemfile中提到的git分支是固定较少支持(假设)的'pbaker'分支的副本。我已经试过标准的宝石和其他版本,都没有任何运气。
可能的原因是什么?
注:有关的问题,但不重复(因为它只涉及@import
问题),可以找到here。
它再次打破了我(使用最新的官方宝石,而不是我的叉)。我尝试了上面的要点中的设置,但没有运气,只是创建了一个空的'styles.32455.css'文件。 –
好吧,让它再次运行,但只有在'['path/to/style.css']'block中包含一个文件,并且只有'css:'path/to/less''是省略。因此,要提供多个LESS文件(不带@imports),您必须为每个文件创建一个'css:css,[...]'。 –