【问题标题】:Cannot precompile assets for production environment, Rails 4.2.1, bower components无法为生产环境、Rails 4.2.1、Bower 组件预编译资产
【发布时间】:2015-12-01 10:34:02
【问题描述】:

我在前端为第三方使用 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");

当我为生产环境预编译资产时,那些 css 文件不存在。在开发模式下,一切都像一个魅力!

对此有何建议?

【问题讨论】:

  • 你得到的错误是什么?

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


【解决方案1】:

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

这个问题有两种解决方案:

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

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

【讨论】:

  • 它没有帮助。我仍然有同样的问题。顺便说一句,我在生产环境中启动服务器,我也在用 RAILS_ENV=production 编译资产。我没有部署代码。只是准备应用部署。
  • @cricket42:我明白了,那么我的回答是绝对错误的。我会解决的
  • @cricket42:修正了我的答案,希望对您有所帮助。
  • @Yuri Lebedev 仍然有同样的问题
  • @Yuri Lebedev 从导入参数中删除 .css 后它起作用了。
猜你喜欢
  • 1970-01-01
  • 2019-12-08
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 2016-10-14
  • 2013-05-08
  • 2012-03-26
相关资源
最近更新 更多