Sto cercando di aggiungere Bootstrap a un'applicazione Sinatra. Ho impostato i percorsi per compilare bootstrap.less
e responsive.less
. Il caricamento separato dei due fogli di stile in un browser Web funziona come previsto. Ma quando provo ad usarli in una pagina html la mia applicazione si blocca. Posso solo interrompere l'applicazione con kill -9
.Meno blocchi Applicazione Sinatra
Sembra che in qualche modo meno importazioni e più fogli di stile causino un blocco dell'applicazione. Sono stato in grado di isolare il problema:
app.rb
require 'rubygems'
require 'bundler/setup'
require 'sinatra'
require 'less'
get '/' do
haml :index
end
get '/style1.css' do
less :style1, :paths => ['views']
end
get '/style2.css' do
less :style2, :paths => ['views']
end
viste/index.haml
!!! 5
%html
%head
%title Hello World
%link{'rel' => 'stylesheet', 'href' => 'style1.css', 'type' => 'text/css'}
%link{'rel' => 'stylesheet', 'href' => 'style2.css', 'type' => 'text/css'}
%body
%h1 Hello World
%p Hello World
viste/style1.less
@import "mixins.less";
@import "shadows.less";
@color: #00eeff;
h1 {
color: @color;
}
viste/mixins.less
.box-shadow(@shadow) {
-webkit-box-shadow: @shadow;
-moz-box-shadow: @shadow;
box-shadow: @shadow;
}
viste/shadows.less
h1 {
.box-shadow(6px 6px 3px #888);
}
viste/style2.less
@color: #ccff00;
p {
color: @color;
}
l'accesso alla pagina di indice si blocca Sinatra. Se commento fuori style2.less
nella pagina html o in linea shadows.less
o mixins.less
in style1.less
, la pagina viene caricata come previsto.
Qualche idea su quale potrebbe essere il problema o su come posso eseguire il debug di questo ulteriore?
+1: Ben fatta prima domanda. –
Forse prova 'Less.paths << settings.views' visto nella prima risposta qui: http://stackoverflow.com/questions/9606703/parsing-less-options-in-a-sinatra-app. Dire direttamente all'oggetto Less config ha senso per me. Inoltre, credo che 'percorsi: [" views "]' è ridondante e viene utilizzato solo se i file importati di meno sono stati posizionati in un punto diverso da '/ views'. – danneu
'paths => ['views']' non è ridondante. Era necessario dal compilatore Less per risolvere le sue importazioni. La domanda a cui si riferisce @danneu riguarda un bug nella gemma tilt che è già stato risolto nell'ultima versione di git. – stijnvn