classic style sinatra appと書いていて、sinatra-assetpackでscssファイルをパッケージしようとしていますが、動作しません。私は私のレイアウトファイルでこれを使用していsinssra-assetpackでScss/Sassが動作しない
require 'rubygems'
require 'sinatra'
require 'haml'
require 'sass'
require 'compass'
require 'sinatra/assetpack'
set :root, File.dirname(__FILE__)
set :environment, ENV["RACK_ENV"] || "development"
configure do
Compass.configuration do |config|
config.project_path = File.dirname(__FILE__)
config.sass_dir = 'views/stylesheets'
end
set :haml, { :format => :html5 }
set :scss, Compass.sass_engine_options
assets {
serve '/javascripts', from: 'public/javascripts'
serve '/stylesheets', from: '/stylesheets'
# The second parameter defines where the compressed version will be served.
# (Note: that parameter is optional, AssetPack will figure it out.)
js :lib, '/javascripts/script.js', [
'/javascripts/lib/modernizr-2.5.3.js',
'/javascripts/lib/underscore-min.js',
'/javascripts/lib/slides.min.jquery.js',
'/javascripts/lib/jquery.scrollTo-1.4.2-min.js'
]
css :app, '/stylesheets/screen.css', [
'/stylesheets/screen.css',
'/fonts/meta.css'
]
js_compression :jsmin
css_compression :sass
}
end
:
これは私のメインのWebファイルである
= css :app, :media => 'screen'
screen.scss
ファイルが/views/stylesheets/screen.scss
に保存されている、とmeta.css
は/public/fonts/meta.css
になっています。 screen.css
への参照は間違っていますか?彼らは別のディレクトリから提供されるべきですか?
はまた、私はそれを置くか、それは何も解決しませんでした削除
get '/stylesheets/screen.css' do
content_type 'text/css', :charset => 'utf-8'
scss :'stylesheets/screen'
end
私のメインのWebファイルでこれを持っていた - このルートは必要なのか?
それはルートスコープにブロックし、私はまだそれを試していませんでした資産を置くように見える... 以下をご覧ください。 exampleディレクトリにサンプルコードがあります。 https://github.com/rstacruz/sinatra-assetpack – ma2gedev