加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在推送到生产时Rails资产没有编译

发布时间:2020-12-16 21:03:26 所属栏目:百科 来源:网络整理
导读:我正在尝试将我的rails应用程序部署到生产中,并且我正在尝试预编译所有资产: 我的assets.rb文件: Rails.application.config.assets.precompile += %w( *.css.sass )Rails.application.config.assets.precompile += %w( *.css.scss )Rails.application.conf
我正在尝试将我的rails应用程序部署到生产中,并且我正在尝试预编译所有资产:

我的assets.rb文件:

Rails.application.config.assets.precompile += %w( *.css.sass )
Rails.application.config.assets.precompile += %w( *.css.scss )
Rails.application.config.assets.precompile += %w( *.css )
Rails.application.config.assets.precompile += %w( *.js )
Rails.application.config.assets.precompile += %w( *.js.coffee )
Rails.application.config.assets.precompile += %w( *.js.coffee.erb )

但是,当我尝试使用capistrano进行部署时,出现以下错误:

DEBUG[c79c6191]     rake aborted!
DEBUG[c79c6191]     Sass::SyntaxError: Undefined variable: "$alert-padding".

在我之前的assets.rb文件中,我已经逐个文件地添加了每个资产,并且部署正在运行,但是,我正在布局文件中导入一些资产:

<%= javascript_include_tag 'application','jquery-ui-1.9.2','js-example','js-example2','data-turbolinks-track' => true %>

但我也使用链轮导入一些:

//= require jquery
//= require bootstrap-sprockets
//= require angular
//= require jquery_ujs
//= require turbolinks
//= require_tree .

这个方法在我开发应用程序时运行良好,但是当我将应用程序部署到生产环境时,似乎我使用链轮导入的东西没有被导入(即Angular)

提前致谢.

编辑:根据要求,我的application.css.scss文件:

/*
 *
 *= require_tree .
 *= require_self
 */

@import "bootstrap-sprockets";
@import "bootstrap";
@import "font-awesome";

编辑2:我也遵循这个方法:bootstrap-sass: Undefined variable: “$baseLineHeight”,但我需要它来预编译所有资产.

解决方法

这是你的错误:
Sass::SyntaxError: Undefined variable: "$alert-padding".

可能的原因是你已经包含在文件顶部的bootstrap:

//= require bootstrap-sprockets

SCSS

我建议问题是你没有用SCSS preprocessor调用文件,或者你正在调用的bootstrap gem有什么问题

有looked around online,我会建议如下:

#app/assets/stylesheets/application.css.scss
@import "bootstrap-sprockets","bootstrap";

预编译

我会删除assets.rb文件中的所有调用:

Rails.application.config.assets.precompile += %w( *.css.sass )
Rails.application.config.assets.precompile += %w( *.css.scss )
Rails.application.config.assets.precompile += %w( *.css )
Rails.application.config.assets.precompile += %w( *.js )
Rails.application.config.assets.precompile += %w( *.js.coffee )
Rails.application.config.assets.precompile += %w( *.js.coffee.erb )

无论如何都要调用所有这些 – 您不需要在assets.rb初始化程序中重新确认它们

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读