无法为生产环境预编译资产,Rails 4.2.1,bower 组件
Cannot precompile assets for production environment, Rails 4.2.1, bower components
我在前端使用第三方 Bower。
我在 AdminLTE 主题中使用的 iCheck 组件有问题。
这是我的 Ruby 在 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 文件不存在。在开发模式下,一切正常!
对此有什么建议吗?
这里的问题是你编译的 css 文件仍然有相同的导入命令,它引用了 minimal/_all.css
和 square/_all.css
.
这个问题有两种解决方法:
您可以将所有导入文件的扩展名更改为 scss
,并将导入指令从 @import url("...")
更改为 @import "..."
或者您可以将使用 url 导入的文件复制到您的 public 文件夹中,您的浏览器会找到它们(当然,它们不会被缩小,我不建议您使用此解决方案)
我在前端使用第三方 Bower。
我在 AdminLTE 主题中使用的 iCheck 组件有问题。
这是我的 Ruby 在 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 文件不存在。在开发模式下,一切正常!
对此有什么建议吗?
这里的问题是你编译的 css 文件仍然有相同的导入命令,它引用了 minimal/_all.css
和 square/_all.css
.
这个问题有两种解决方法:
您可以将所有导入文件的扩展名更改为
scss
,并将导入指令从@import url("...")
更改为@import "..."
或者您可以将使用 url 导入的文件复制到您的 public 文件夹中,您的浏览器会找到它们(当然,它们不会被缩小,我不建议您使用此解决方案)