ruby-on-rails - 无法预编译生产环境、Rails 4.2.1、bower 组件的资源

标签 ruby-on-rails asset-pipeline bower ruby-on-rails-4.2

我在前端使用第三方的 Bower。

我在 AdminLTE 主题中使用的 iCheck 组件有问题。

这是我的 Ruby on Rails 4.2.1 服务器端应用程序的 application.sass 文件:

@import "bootstrap-css-only/css/bootstrap"
@import "css/AdminLTE"
@import "css/skin-purple"

/*theme AdminLTE-2.3.0*/
@import "font-awesome/css/font-awesome"
@import "iCheck/skins/minimal/_all"
@import "iCheck/skins/square/_all"
@import "iCheck/skins/flat/_all"
@import "iCheck/skins/line/_all"
@import "iCheck/skins/polaris/polaris"
@import "iCheck/skins/futurico/futurico"
@import "iCheck/skins/all"

/*javascript notifications*/
@import "pnotify/src/pnotify.core"
@import "pnotify/src/pnotify.buttons"

/* Font awesome import*/
@import "font-awesome/css/font-awesome"

/*angular modules stylesheets*/
@import "core/stylesheets/users"

iCheck 组件存在问题,因为文件 iCheck/skins/all.css 中有导入:

@import url("minimal/_all.css");
@import url("square/_all.css");

当我为生产环境预编译 Assets 时,这些 css 文件不存在。在开发模式下,一切都很顺利!

对此有什么建议吗?

最佳答案

这里的问题是您编译的CSS文件仍然具有相同的导入命令,它引用了minimal/_all.csssquare/_all.css

此问题有两种解决方案:

  1. 您可以将所有导入文件的扩展名更改为 scss,并将导入指令从 @import url("...") 更改为 @import“...”

  2. 或者您可以将通过 url 导入的文件复制到您的公共(public)文件夹,您的浏览器会找到它们(当然,它们不会被缩小,我不建议您使用此解决方案)

关于ruby-on-rails - 无法预编译生产环境、Rails 4.2.1、bower 组件的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34018217/

相关文章:

ruby-on-rails - 在 ruby​​ 中委派了 nil 属性

ruby-on-rails - 在 Rails 3 中放置时间格式规则的位置?

sql - rails : Optimize querying maximum values from associated table

image - 导轨 3.1 : Dynamic linking to images in the asset pipeline?

ruby-on-rails - Assets 同步在每次部署时(几乎)将所有 Assets 上传到 S3,即使没有任何变化

laravel-4 - Laravel Asset Pipeline 条件 JavaScript

ruby-on-rails - 在 ActiveRecord 中的 block 持续时间内禁用触摸

bower - Bower 初始化时如何更改作者字段的默认用户名/电子邮件

yeoman - npm 错误 : peerinvalid The package generator-karma does not satisfy its siblings peerDependencies requirements

twitter-bootstrap - Bower:使用 bower 安装旧版 Bootstrap (2.3.2)