2

これを行う方法がわかりません。すべてのメインの .less ファイルは に/app/css/lessあり、@import されたファイルは にあります/app/css/less/bootstrap。私の主なスタイルシートは/app/css/less/style.less、「/public/css/style.css」にコンパイルする必要があるものです。

古典的な 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'

提供された html でこのスタイルシート関連のタグを生成します。

link rel="stylesheet" href="/css/style.496718.css" media="screen"

ただし、実際にはファイルをコンパイルしませんstyle.49718.css。実際、ファイルはまったくコンパイルされません。

注: Gemfile で参照されている git ブランチは、(おそらく) Less サポートを修正した 'pbaker' ブランチのコピーです。私は標準の宝石と他のバージョンを試しましたが、すべてうまくいきませんでした。

考えられる原因は何ですか?

注: 関連する質問ですが、重複していません (@import問題のみを参照しているため) は、こちら にあります

4

2 に答える 2

0

最終的に問題が何であるかを理解し、--all実行時にオプションを使用する必要がありましたbundle package。そこでbundle package --all、gemのカスタムgitフォークのローカルキャッシュを作成しました。sinatra-assetpackすべてが「宣伝どおり」に機能します:)

于 2012-11-05T11:36:45.457 に答える
0

代わりに (そして Google の後継者のために)、最近、AssetPack gem に関する多くの作業が行われています (現在はサポートが組み込まれていません)。

この Gist には、サポートが少ない完全な例があります: https://gist.github.com/4652773

于 2013-01-29T12:49:45.290 に答える