【问题标题】:How to require files in application.scss when the docs call for the file to be required in application.css当文档要求在 application.css 中需要文件时如何要求 application.scss 中的文件
【发布时间】:2019-04-05 06:02:17
【问题描述】:

所以我正在尝试实现“bootstrap-tour”gem。 Rails 5 带有一个 application.scss 文件,但“bootstrap-tour”gem 文档要求将以下代码放入 application.css 文件中

*= require bootstrap-tour

所以我创建了一个 application.css 文件并将代码放在那里,但如果真的与我放在 scss 文件中的样式混淆了。如果我将上面的代码放在 app.scss 文件中,我会收到以下错误

couldn't find file 'bootstrap-tour' with type 'text/css'

宝石文件

gem 'carrierwave'
gem 'acts_as_votable', '~> 0.11.1'
gem 'devise', '~> 4.4', '>= 4.4.1'
gem 'will_paginate', '~> 3.1.0'
gem 'bootstrap-sass', '~> 3.4.1'
gem 'flexbox-rails', '~> 1.0'
gem 'rails_12factor'
gem 'bootstrap-tour-rails'

应用程序.scss

 *= require_tree .
 *= require_self
 */

@import "bootstrap-sprockets";
@import "bootstrap";

(And some custom styling here)

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap ruby-on-rails-5


    【解决方案1】:

    这些是链轮处理的“神奇的 cmets”。对于 css/scss,它们只是文件开头的 /* */ 注释块。

    你错过了打开/*

    /*
    *= require 'some_file'
    */
    

    但是 SCSS/SASS suggests 使用 @import 而不是链轮 requires - 这样 sass 变量和 mixins 将在文件之间正确处理。

    【讨论】:

    • 我的错,我没有包含主要是 cmets 的 .scss 文件的上半部分,但它确实以 /* 开头。但不幸的是,当我尝试@import“bootstrap-tour-rails”时,我仍然收到帖子中列出的错误;似乎 bootstrap-tour 正在寻找 .css 文件中的代码。
    • @ChrisWilson 添加该 gem 后您是否重新启动了应用服务器(链轮似乎没有拾取新的加载路径)?
    • 是的,我确实这样做了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    相关资源
    最近更新 更多