Ich versuche, Bootstrap zu einer Sinatra-Anwendung hinzuzufügen. Ich habe Routen eingerichtet, um bootstrap.less
und responsive.less
zu kompilieren. Das Laden der beiden Stylesheets in einem Webbrowser funktioniert wie erwartet. Aber wenn ich versuche, sie in einer HTML-Seite zu verwenden, hängt meine Anwendung. Ich kann die Anwendung nur mit kill -9
stoppen.Weniger hängt Sinatra Anwendung
Es scheint, dass irgendwie weniger Importe und mehrere Stylesheets einen Hang der Anwendung verursachen. Ich war in der Lage, das Problem zu isolieren:
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
views/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
views/style1.less
@import "mixins.less";
@import "shadows.less";
@color: #00eeff;
h1 {
color: @color;
}
views/mixins.less
.box-shadow(@shadow) {
-webkit-box-shadow: @shadow;
-moz-box-shadow: @shadow;
box-shadow: @shadow;
}
views/shadows.less
h1 {
.box-shadow(6px 6px 3px #888);
}
views/style2.less
@color: #ccff00;
p {
color: @color;
}
die Index-Seite Zugriff hängt Sinatra. Wenn ich style2.less
in der HTML-Seite oder inline shadows.less
oder mixins.less
in style1.less
auskommentieren die Seite wie erwartet geladen.
Irgendeine Idee, was könnte das Problem sein oder wie kann ich das weiter debuggen?
+1: Gut gestellte erste Frage. –
Vielleicht versuchen Sie 'Less.paths << settings.views' in der ersten Antwort hier zu sehen: http://stackoverflow.com/questions/9606703/parsing-less-options-in-a-sinatra-app. Das Less config Objekt direkt zu sagen macht für mich Sinn. Ich glaube auch 'paths: [" views "]' ist überflüssig und wird nur benutzt, wenn deine importierten weniger Dateien irgendwo anders als '/ views' sitzen. – danneu
'Pfade => ['Ansichten']' ist nicht redundant. Es benötigt den Less-Compiler, um seine Importe aufzulösen. Die Frage, auf die sich @danneu bezieht, bezieht sich auf einen Fehler im Tilt-Juwel, der bereits in der neuesten Version von Git gelöst wurde. – stijnvn