2016-03-20 11 views
5

Làm cách nào để nhập tệp .scss.erb vào Trung gian 4?Làm cách nào để nhập tệp .scss.erb vào phần trung gian4?

Tôi chỉ nâng cấp từ trung gian từ 3 đến 4. Tôi nghĩ đây là vấn đề cuối cùng của tôi ...

Tôi có một file all.css.scss trông như thế này:

@charset "utf-8"; 

@import "settings"; 
@import "imports"; 
@import "base"; 
@import "signature_pad" 

Tất cả các tập tin nhập khẩu ngoại trừ hàng nhập khẩu.

Sự khác biệt với settings là nó là _imports.scss.erb

Sau đó, khi tôi cố gắng và tải all.css tôi có được điều này:

Error: File to import not found or unreadable: imports. 
     Load paths: 
     /Users/myMyserId/apps/projectName/source/assets/css 
     /Users/myUserId/.rvm/gems/ruby-2.0.0-p451/gems/compass-core-1.0.3/stylesheets 
     Compass::SpriteImporter 
     /Users/myUserId/apps/projectName/source/assets/css 
     /Users/myUserId/.rvm/gems/ruby-2.0.0-p451/gems/compass-core-1.0.3/stylesheets 
     Compass::SpriteImporter 
     /Users/myUserId/apps/projectName/source/assets/css 
     /Users/myUserId/.rvm/gems/ruby-2.0.0-p451/gems/compass-core-1.0.3/stylesheets 
     Compass::SpriteImporter 
     on line 4 of /Users/myUserId/apps/projectName/source/assets/css/all.css.scss 

Tôi nghĩ vấn đề là ERB không xử lý các tập tin trước khi tạo thành tệp .scss.

Trả lời

1

Thêm Sprockets cho mỗi this forum post nhận được hàng nhập khẩu hoạt động như trước đây.

Trong Gemfile, thêm sprockets và một đường ray-tài sản chặn với gemfiles chọn từ bước 1:

# Gemfile 
gem 'middleman-sprockets', '4.0.0.rc.3' 

source 'https://rails-assets.org' do 
    gem 'rails-assets-bootstrap-autohidingnavbar', '1.0.0' 
    gem 'rails-assets-jquery', '2.1.1' 
    gem 'rails-assets-slick.js', '1.5.7' 
end 

Trong config.rb của bạn, thêm khối sau để kích hoạt các đường ống dẫn tài sản và thêm RailsAssets đá quý để đường dẫn tải của bạn:

# config.rb 
# General configuration 
activate :sprockets 

if defined? RailsAssets 
    RailsAssets.load_paths.each do |path| 
    sprockets.append_path path 
    end 
end 
6

Sự khác biệt với các thiết lập là nó là _imports.scss.erb

Đây là vấn đề của bạn. Bản thân người trung gian không chạm vào bất cứ điều gì với một dấu gạch dưới hàng đầu. Các tệp .scss được xử lý vì đó là SASS đang thực hiện công việc.

Giải pháp tôi đang sử dụng (cho đến khi tôi tìm một cách khác) là xây dựng tệp css thứ hai và chỉ đưa nó vào bố cục của tôi.

Trong trường hợp của bạn, bạn có thể thử xóa dấu gạch dưới; không có hậu tố .css, nó không nên được đưa vào đầu ra.

2

Dưới đây là một ví dụ để làm cho nó làm việc:

// all.css.scss.erb 

<%= partial './_settings.scss' %> 

// rest of css… 

Với các thiết lập file là

  • tên _settings.scss.erb
  • nằm như một tập tin anh chị em để all.css.scss
  • nó có thể sau đó chứa mã erb! :)

Điều đó nói rằng, tôi mạnh mẽ đề nghị xem xét các tính năng bên ngoài-đường ống trong trung gian 4. Nó rất mạnh mẽ và cho phép xử lý tốt hơn của Sass/SCSS.

Các vấn đề liên quan