2012-05-02 5 views
1

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 

내 레이아웃 파일이 사용하고 있습니다

= 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 

이 있었다?

+0

= css :app, :media => 'screen' = js :lib 
... 다음을 참조하십시오. 예제 디렉토리에는 샘플 코드가 있습니다. https://github.com/rstacruz/sinatra-assetpack – ma2gedev

답변

0

get '/stylesheets/screen.css' 경로를 더 이상 유지하지 않아야합니다.

Gemfile/app 파일에 나침반이 있습니다. Sinatra AssetPack은 나침반과 호환되지 않는다고 말합니다. 예제 애플리케이션 here과 같이 사용하려면 sinatra/support을 포함 할 수 있습니다.

serve '/stylesheets', from: '/stylesheets' 문을 serve '/stylesheets', from: '/views/stylesheets'으로 변경하여 sass 파일을 제공 할 위치를 반영하십시오.

모든 후, 당신은 자바 스크립트를 제공 할 수 있어야하고하는 SCS 다음과 같은 :

자산 루트 범위에 차단 배치 할 것 같다,하지만 난 아직 그것을 시도하지했습니다
관련 문제