问题标签 [rails-assets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
114 浏览

sass - 如何组织 js、css 和 scss 文件以进行正确的导入和流水线操作?

最近我在资产文件夹中购买了一个带有资产的主题:-

现在,我需要在 Rails 资产管道中使用主题并组织为:-

1) 将所有 *.js 文件保留在上述 (1) 号中。在 /app/assets/javascripts 文件夹和 application.js 文件中,代码是:-

(Js 文件已导入,我认为没有错误,因为所有文件都在 javascripts 目录中)

2) 将所有 *.css 文件保存在上面第 2 点的 /app/assets/stylesheets 中。
3) 将上面第 3 点中的 assets/sass/main.scss 保存到 /app/assets/stylesheets。
4) 将上面第 4 点中的仪表板文件夹保存到 /app/assets/stylesheets 中,application.css 文件内容如下:-

我认为这应该可行,因为所有 css 都是由 require_tree 导入的。并且“main.scss”具有从仪表板目录导入的文件。但是我从“main.scss”文件导入的“_variables.scss”中定义的变量中得到“变量未找到 $font-weight-bold sass 错误”。我该如何解决这个问题以及资产组织应该是什么。

谢谢你们。

0 投票
1 回答
403 浏览

ruby-on-rails - Rails 资产间歇性超时 https://rails-assets.org

在为此以及在持续集成服务器上进行捆绑安装时间歇性地出错。

0 投票
1 回答
1291 浏览

ruby-on-rails - Rails 5资产:预编译挂起

我正在使用 Ember 和ember-cli-railsgem 运行 Rails 5。我在 Rails 资产文件夹中没有太多内容,因为我有一个单独的前端文件夹并ember-cli-rails帮助我将 Ember 应用程序安装到 Rails 路由。

我部署到 AWS 实例,每当我运行时rake assets:precompile,它都会挂起:

难道是我需要更新Ruby?大概不对吧?

无论如何,我在其他帖子中阅读了这篇文章,并且我认为这个问题更多的是个案问题,并且没有一个适合所有问题的解决方案。因此,我在这里介绍有关我的项目的信息,以期诊断问题。

我的宝石文件:

我有大量的 Ember 代码,这是我在运行后加载 Ember 应用程序时的输出rails s

所以它已经花费了一些时间,但似乎在我的 EC2 实例上,这一次呈指数增长。任何想法为什么?我应该只增加RAM吗?我觉得这不是理想的解决方案。

tl;博士:

  1. ember-cli-rails宝石有问题吗?
  2. 我能做些什么来加快速度assets:precompile
  3. 提高我的 ec2 实例的能力是一种好习惯吗?
  4. 我能做些什么来调试这个(日志、更详细的输出等)?
0 投票
0 回答
235 浏览

ruby-on-rails - Rails 生产中缺少 Summernote 图标

我已经在我的 rails 应用程序中实现了 Summernote。开发中一切正常,Summernote 图标显示正确。但是,当我将其部署到生产环境时,这些图标不见了。我试过跑

但那些图标仍然不见了。即使我已经添加了这些

仍然没有运气。有人有这个问题吗?

0 投票
3 回答
1097 浏览

css - 背景图像在生产中的 rails style.css 中不起作用

背景图像样式在本地工作正常,因为没有digest语言环境,但在生产中,之后assets:precompile,所有资产都添加指纹,并且在 Rails 4 中没有未消化的资产名称。因此,

不起作用。

有什么办法可以让背景图像在之后工作assets:precompile

0 投票
1 回答
195 浏览

ruby-on-rails - Heroku:Rails 5 应用程序的样式表和 Javascripts 未更新

多年来,人们遇到了很多问题。我已经尝试了多种答案,但我仍然无法在我的 Rails 5.1.6 应用程序中将更新的样式表和 javascript 加载到 Heroku 中。它适用于我的本地机器。

这是我的文件。

应用程序/资产/样式表/application.scss

应用程序/视图/布局/application.html.erb

配置/应用程序.rb

配置/环境/production.rb

这是我在本地机器上所做的。

我已经多次清除浏览器中的缓存,重新启动计算机并在不同设备上显示新应用程序。我在 heroku 日志中没有看到任何错误。我的 css 和 js 不工作。我还能在哪里解决这个问题?

0 投票
0 回答
254 浏览

ruby-on-rails-5 - HowTo:在编译之前将 postcss(autoprefixer) 应用于 rails 资产

问题标题试图描述性,但我觉得我必须进一步解释:

我的目标是在我的 rails 5.2 应用程序中使用 postcss(尤其是 postcss-preset-env 包括 autoprefixer)。我设法设置了 webpack 并获取了我的前缀,但是我特此解决了一个主要问题及其后代:

(1) 根据设计,webpack 将 (s)css 文件“包含”到 application.js 中,并为 css 添加前缀。但是,由于我喜欢将样式表留在 rails 的 assets 文件夹中,我想知道如何配置整个东西,以便例如 rails 编译资产,创建其 css 输出,并将其提供给 webpack,以便 webpack 可以添加前缀,创建 JS 变通方法等等。这是可能的,还是我必须将我所有的样式重构为 app/javascript/packs(而不是 app/assets/stylesheets 分别)?

(2) 试图解决这篇文章的第 (1) 部分,我通读了这个 codemancers 帖子。这篇文章侧重于使用 heroku 进行部署(这正是我最终想要做的),并且还解决了“编译顺序”问题。所以我应用了他的建议,希望它可以部分解决我的问题,或者至少让我对 webpack-rails 内部有更多的了解,因为这是一个最复杂的话题。它没有:样式表资产没有被 postcss 处理(我对此并不感到惊讶),现在 webpack 编译发生了两次(一次之前,一次在 rails assets:compile 之后)

由于我真的不知道什么代码可能是相关的,为了清楚起见,我不添加任何代码。请告诉我我将发布哪些文件,我很乐意这样做。

最后,因为这将是我可以接受的一种解决方法:如果无法做我想做的事情(或过于复杂):是否有一种干净的方法来引用 webpack 的 /app/javascript/packs/* 中的样式表资产.scss?至于 sprockets 指纹识别,我不能简单地提供要解析的文件的路径。

我希望我能够让自己清楚这个问题。随意编辑答案以获得更好的可读性/理解。

最好的。

0 投票
0 回答
26 浏览

ruby-on-rails - 如何明确声明资产的路线?

我有一个应用程序,其中的路线是:

这允许形式为www.example.com/your_username的路由

这非常有效,但是,它似乎会导致资产/图像 url 出现错误。

有没有办法明确定义(默认)资产/图像路线?(我想如果它们放在最后一行之前,那么它们应该可以正常工作)

0 投票
1 回答
136 浏览

javascript - 提供了“applications.js”清单中未提及的 Rails 5 资产?

请赐教!

假设我在 Rails 5 应用程序中有以下资产结构。

application.js清单中,我不需要//= file1也不需要使用require_tree .指令。

如果清单中不需要任何 JS 文件,application.js则它也不会包含在Rails.application.config.assets.precompile += %w[]

  1. 是否将提供此资产?
  2. 如果某个视图中有标签<%= javascript_include_tag 'file1' %>,它应该工作还是引发错误?
0 投票
1 回答
249 浏览

ruby-on-rails - 在 ruby​​ on rails app 中运行 bundle install 时无法验证 SSL 证书错误

我有一个 ruby​​ on rails 应用程序,当我尝试运行捆绑安装时抛出错误。错误如下:

捆绑标准输出:无法验证https://rails-assets.org/的 SSL 证书您有可能遇到中间人攻击,但很可能您的系统没有所需的 CA 证书用于验证

我们的 SSL 证书在几天前刚刚更新,我们没有更改应用程序中的任何内容。它开始突然抛出这个错误。

我们是否需要更新系统中的根证书?我的意思是像运行 sudo update-ca-certificates 或类似的东西?这样做安全吗?

该应用程序位于 digitalOcean 中,我们使用 capistrano gem 来部署该应用程序

@lingYan 非常感谢您指引我正确的方向!我阅读了您发布的链接,但就我而言,我不得不稍微更改步骤,因为我不在 Centos-7 上。所以这正是我所做的:

  • 在 /etc/ssl/certs 中备份了证书文件:

    cp ca-certificates.crt ~/certificatesBackup/ca-certificates-backup.crt

  • 在 /etc 中备份了配置文件:

    cp ca-certificates.conf ~/certificatesBackup/ca-certificates-backup.conf

  • 在 /etc/ssl/certs 中备份了过期证书:

    cp DST_Root_CA_X3.pem ~/certificatesBackup/DST_Root_CA_X3_backup.pem

  • 从 ca-certificates.conf 中删除了 DST_Root_CA_X3.pem:

    我用 vim 打开文件并删除了该行

  • 删除了 /etc/ssl/certs 中的过期证书:

    sudo rm DST_Root_CA_X3.pem

  • 更新的证书:

    更新 CA 证书 -f -v

  • 检查是否已从 ca-certificates.crt 中的链中删除过期证书:

    diff ~/certificatesBackup/ca-certificates-backup.crt ca-certificates.crt

    它显示了新证书

完成上述所有步骤后它仍然抛出错误,所以我意识到我没有 ISRG 根 CA 证书。为了添加 ISRG 根 CA,我执行了以下操作(我认为这是不正确的,或者我可能遗漏了一些东西):

  • 转到此页面https://letsencrypt.org/certificates/并下载名为 ISRG Root X1 的文件(自签名/pem 格式)
  • 去 /usr/local/share/ca-certificates/
  • 创建了一个名为 isrgrootx1 的新文件夹
  • 将我之前下载的pem文件复制到isrgrootx1文件夹中
  • 确保权限正常(文件夹为 755,文件为 644)
  • 使用 update-ca-certificates -f -v 更新证书
  • 检查是否使用 diff 命令添加了证书:当我运行 diff 命令时,它没有显示任何更改,所以我猜证书没有添加并且错误仍然存​​在

我做错了吗?上述步骤是否正确添加新证书?我开始对此感到沮丧:(