问题标签 [asset-pipeline]

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 回答
7871 浏览

ruby-on-rails - 引擎在 Rails 3.1 中的资产

应该如何在 Rails 3.1 的引擎中提供资产?它们应该位于何处,是否可以自动包含在内?

最初由 Tomas Celizna 提出

0 投票
7 回答
18732 浏览

ruby-on-rails-3 - 如何在 Rails 3.1 中加载 CSS 框架?

我正在尝试将 CSS 框架 Blueprint 加载到我的 Rails 3.1 应用程序中。

在 Rails 3.0+ 中,我的视图/布局/application.html.erb 中会有类似的内容:

但是,Rails 3.1 现在使用 SASS。加载这些蓝图 CSS 文件的正确方法是什么?

目前,我在 app/assets/stylesheets/ 中有蓝图目录

我的 app/assets/stylesheets/application.css 看起来像:

我应该对 application.css 做些什么,以便它加载必要的蓝图文件吗?如果是这样,怎么做?

其次,我将如何提供某种条件来检查 IE8、加载 blueprint/ie.css?

编辑:

嗯,重新加载应用程序的网页。Rails 3.1 包含蓝图文件。即使 css 文件位于文件夹中(在本例中为:app/assets/stylesheets/blueprint。)

这让我有两个问题

  1. 应该如何使用 SASS应用if lt IE 8条件?
  2. 如何使用 SASS 加载打印格式的 css 文件(即 <%= stylesheet_link_tag 'blueprint/print', 'media' => 'print' %>)?
0 投票
8 回答
42316 浏览

jquery-ui - Rails 3.1 和 jquery-ui 资产

这是在另一个问题中提出的,但在 3.1rc1 中似乎没有一个解决方案对我有用。

我正在尝试使用 rails 3.1 中的新资产 - 我有文件:

然后我补充说:

jquery-ui javascript 文件加载得很好,但是 css 文件说:

有任何想法吗?

0 投票
5 回答
34593 浏览

ruby-on-rails-3 - Rails 3.1 资产管道和手动订购的 Javascript 需要

我正在尝试将现有应用程序转换为新的 3.1 资产管道布局,并希望包含许多必须按特定顺序排列的供应商文件(underscore.js 和主干是一对)。因此,我不能只使用 a= require_tree .来拉入我的供应商文件(而不用前缀重命名每个文件。呸)。

以下在我的app/assets/javascripts/application.js文件中:

我已经尝试了每一种有/无扩展、有/无require_tree和有/无相对路径的组合,但没有任何效果。我所有的供应商文件都在/vendor/assets/javascripts/.

我觉得我很愚蠢,因为这似乎是一个如此明显的用例,(包括按名称排列的特定文件在 JS 中很常见,不是吗?)我一定是在做一些愚蠢的事情?

0 投票
2 回答
4499 浏览

ruby-on-rails - 通过资产管道携带 Sass 变量,Rails 3.1 rc1

我最近将我的一个 Rails 3.0 项目与 3.1 rc1 分支在一起,以尝试新的资产管道。在进入 3.1 之前,我一直在项目中使用 Sass,所以我一直在一个单独的配置文件中设置一些变量和函数,并让我的所有其他 sass 文件在第一行导入那个文件。

在样式表中不重复一些颜色代码和一般几何图形的效果很好。现在新资产管道的问题是,据我所知,它会将“.css.sass”文件转换为原始 css,然后再将其附加到其余代码中。

因此,如果我指定,在我的“application.css”中:

我收到如下错误:

当我尝试从以下位置访问文件时:http://localhost:3000/assets/application.css

有任何想法吗?

0 投票
29 回答
80889 浏览

javascript - 使用 Rails 3.1,您将“特定于页面”的 JavaScript 代码放在哪里?

据我了解,您所有的 JavaScript 都会合并到一个文件中。//= require_tree .Rails 在添加到application.js清单文件底部时默认执行此操作。

这听起来像是一个真正的救生员,但我有点担心特定于页面的 JavaScript 代码。这段代码会在每一页上执行吗?我想要的最后一件事是为每个页面实例化我的所有对象,而这些对象只需要在一页上。

此外,是否也有可能发生冲突的代码?

或者你是否script在页面底部放置一个小标签,它只是调用一个执行页面的javascript代码的方法?

那么你不再需要 require.js 了吗?

谢谢

编辑:我很欣赏所有的答案......而且我认为他们并没有真正解决问题。其中一些是关于样式的,似乎并不相关......而其他人只是提到javascript_include_tag......我知道存在(显然......)但看起来 Rails 3.1 的前进方式是总结所有您的 JavaScript 到 1 个文件中,而不是在每个页面的底部加载单独的 JavaScript。

我能想出的最佳解决方案是用s 或es将某些功能包装在div标签中。在 JavaScript 代码中,您只需检查或是否在页面上,如果是,则运行与其关联的 JavaScript 代码。这样,如果动态元素不在页面上,JavaScript 代码就不会运行——即使它已包含在Sprockets 打包的海量文件中。idclassidclassapplication.js

我上面的解决方案的好处是,如果 100 个页面中有 8 个包含搜索框,它将仅在这 8 个页面上运行。您也不必在网站的 8 个页面上包含相同的代码。事实上,您再也不必在任何地方的网站上包含手动脚本标签。

我认为这是我问题的实际答案。

0 投票
2 回答
2929 浏览

ruby-on-rails-3 - Rails 3 - 资产管道 - 这对我意味着什么?

我正在努力寻找有关新 Rails 3 资产管道的任何真实文档。我知道有一个视频,但我不想看这种格式的一小时视频。我看了大约 10 分钟,并没有获得任何知识。

那么,关于 Rails 3 资产管道,我需要了解什么?这对我以前的项目意味着什么,对我未来的项目意味着什么?

0 投票
14 回答
55195 浏览

ruby-on-rails - 如何在 Ruby on Rails 3.1 中禁用资产管道(链轮)消息的日志记录?

默认情况下,在 Ruby on Rails 3.1 (RC1) 下,Sprockets 在 (dev) 日志中往往非常冗长:

我想降低详细程度或完全禁用它。

我假设有一种干净的方法来禁用或减少日志记录的详细程度,方法是在其中一个environment.rbdevelopment.rb类似的配置行中添加一个配置行,以config.active_record.logger = nil使 ActiveRecord SQL 语句静音。

0 投票
2 回答
4982 浏览

amazon-s3 - 如何使用 Amazon s3 部署(同步)Rails 3.1 预编译资产

如何将我的 Rails 3.1 管道的预编译资产部署到 s3?

我需要一个任务来自动化我的资产桶的同步工作。

编辑:

这颗宝石正是我需要的:https ://github.com/rumblelabs/asset_sync 。

0 投票
2 回答
4643 浏览

ruby-on-rails - 在 SCSS 中访问 Rails 模型或助手

我在资产管道中使用 Rails 3.1 和 SCSS。无论如何可以访问 SCSS 文件中的 Rails 助手或控制器数据吗?就像是...

我知道我可以自己设置$variables,但我不确定如何从控制器的数据中填充它们。