Tôi đang cố gắng thêm Bootstrap vào ứng dụng Sinatra. Tôi có các tuyến đường thiết lập để biên dịch bootstrap.less
và responsive.less
. Tải hai bản định kiểu riêng biệt trong trình duyệt web hoạt động như mong đợi. Nhưng khi tôi cố gắng sử dụng chúng trong một trang html, ứng dụng của tôi bị treo. Tôi chỉ có thể dừng ứng dụng với kill -9
.Ít treo ứng dụng Sinatra
Dường như bằng cách nào đó, ít nhập hơn và nhiều biểu định kiểu gây ra lỗi treo của ứng dụng. Tôi đã có thể cô lập các vấn đề:
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;
}
Truy cập vào trang index treo Sinatra. Nếu tôi nhận xét ra style2.less
trong trang html hoặc nội tuyến shadows.less
hoặc mixins.less
trong style1.less
trang tải như mong đợi.
Bất kỳ ý tưởng nào có thể là vấn đề hoặc cách tôi có thể gỡ lỗi thêm?
+1: Câu hỏi đầu tiên được đặt ra. –
Có lẽ thử 'Less.paths << settings.views' trong câu trả lời đầu tiên ở đây: http://stackoverflow.com/questions/9606703/parsing-less-options-in-a-sinatra-app. Trực tiếp nói với đối tượng Less config có ý nghĩa với tôi. Ngoài ra tôi tin rằng 'đường dẫn: [" quan điểm "]' là dư thừa và chỉ được sử dụng nếu bạn nhập ít tập tin được ngồi ở đâu đó khác hơn là '/ views'. – danneu
'paths => ['views']' không phải là redunant. Nó cần bởi trình biên dịch Less để giải quyết việc nhập khẩu của nó. Câu hỏi @danneu đề cập đến là về một lỗi trong đá quý nghiêng đã được giải quyết trong phiên bản mới nhất từ git. – stijnvn