[英]Rails 5, Sass::SyntaxError cannot precompile assets
我已經啟動了一個新項目( Rails 5.0.0.1
&& ruby 2.3.1p112
),似乎無法讓資產進行預編譯。 我當前的結構如下所示。
app / assets / config / manifest.js
//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
應用程序/資產/樣式表/application.scss
*
*= require_tree .
*= require font-awesome
*= require style
*= require_self
*/
應用/資產/樣式表/style.scss
@import "bootstrap-sprockets";
@import "bootstrap";
// shared styling
@import 'shared/variables';
@import 'shared/content';
...
...
app / views / layout / application.html.haml
...
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
...
在我的app / assets / stylesheets / helpers / _varibles.scss文件中,我設置了一些變量
$font-family-standard: 'Arial', sans-serif;
$font-family-default: 'Open Sans', 'Arial', sans-serif;
$color-primary: #ff7e5b;
$color-gray: #898989;
$color-dark: #292c33;
$color-darker: #3f4248;
但是當我運行Rails服務器/嘗試運行bundle exec rake assets:precompile
我得到了:
be rake assets:precompile
rake aborted!
Sass::SyntaxError: Undefined variable: "$color-dark".
/Users/Nexus/Personal/Projects/Rubyfuza/rubyfuza/app/assets/stylesheets/helpers/_content.scss:3
/Users/Nexus/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
/Users/Nexus/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
我不知道這是怎么回事。 任何幫助都感激不盡。
您正在app/assets/stylesheets/helpers/_content.scss:3
中使用$color-dark
變量(未定義)
您需要將其導入_content.scss
@import 'shared/variables'
您必須刪除
= require_tree .
從
/*
*
*= require_tree .
*= require font-awesome
*= require style
*= require_self
*/
之所以出現在app / assets / stylesheets / application.scss中,是因為資產管道繼續編譯樣式表目錄中存在的每個文件,導致需要使用@import
指令來包含局部變量sass的默認行為。 但是,如果執行上述操作,則可以避免這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.