问题标签 [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 投票
2 回答
6655 浏览

ruby-on-rails - Rails 3.1 资产管道 - 缺少公共/资产中的文件 - 为什么这不是默认值?

今天下午我将升级后的 Rails 2.3.x -> 3.1 (rc4) 应用程序部署到我们的测试环境后,我们所有的样式表和 JavaScript 文件都返回 404 错误。我们已经将 rake assets:precompile 任务添加到我们的部署后脚本中,并且需要一段时间来确定为什么 assets 文件夹没有我们预期的预编译文件。

最后,这些文件没有被编译,因为默认情况下显然只有 application.css 和 application.js(+ 非 JS/CSS 文件)被处理。

我们需要更改以下配置值,如下所示:

问题:为什么这不是默认值?

我本来希望任何不需要作为清单文件处理的东西都会被复制到公共/资产中。我在资产管道上读到的大部分内容本质上是“将您的资产粘贴到应用程序/资产中,配置清单文件,它应该可以正常工作”。由于 assets:precompile 任务没有吐出任何关于它正在做什么的信息,因此需要一段时间才能确定它只是没有查看我们认为它会查看的文件。

有什么理由说明这对于预编译配置来说不是一个好的价值吗?

谢谢!

0 投票
4 回答
2106 浏览

ruby-on-rails - 我在资产管道上做错了吗?

自从“升级”到 Rails 3.1 我的应用程序在开发模式下真的很

(每个请求> 30)

我有很多图像,似乎大部分时间延迟是资产管道处理每个图像的每个 GET 请求。

在暂存或生产模式下没有这个问题,因为资产被缓存等。

有没有我没有被告知的事情,或者我们现在应该如何工作?

0 投票
6 回答
41606 浏览

ruby-on-rails - 在 Rails 3.1 中添加新的资产路径

有谁知道如何在 Rails 3.1 的资产管道中添加另一个文件夹?

我想以app/assets/fonts同样的方式app/assets/images服务。


更新:2013 年 5 月 7 日

只是为将来发现此问题的人添加一些说明,以在您的 application.rb 文件中显式添加资产路径:

但是,由于上述路径在您的下方,app/assets您不必显式添加它,您只需重新启动您的 rails 应用程序,以便 Sprockets 可以将其拾取。

app/assets您将必须明确添加,lib/assets或之外的路径vendor/assets,并且只需记住,虽然 Sprockets 会在应用程序加载时存在的文件夹中拾取新文件,但根据我的经验,它不会在资产路径中拾取新文件夹重新启动。

0 投票
2 回答
557 浏览

ruby-on-rails - 用 CoffeeScript 和 Ruby on Rail 的资产管道分离关注点的好方法是什么?

TLDR:

在 RoR 中,如何将多个 CoffeeScript 文件合并为一个 JS 文件,所有这些文件都在同一个匿名函数块下?

长版:

我有一些 CS 文件将为 RoR Web 应用程序的一部分加载。我想知道:用 CoffeeScripts 和 Ruby on Rail 3.1 的资产管道分离关注点的好方法是什么?

让我们使用以下作为示例代码:

main.js.coffee

你好.js.coffee

复杂的.js.coffee

我的资产目录结构如下:

二级.js

作为构建过程的一部分,我曾经将文件与 CoffeeScript 一起编译,但现在我想改用资产管道。我正在喝 RoR 3.1 酷爱!哈哈,说真的,资产管道看起来很棒。

我遇到的问题是 secondary.js 如下所示:

这可以防止局部变量在整个代码之间共享。MY_GLOBAL_SETTING 和 doComplicatedStuff 不能用于 sayHello。

所以我该怎么做?如果不再次引入我自己的自定义编译步骤,我想不出一个好方法。

0 投票
4 回答
30414 浏览

ruby-on-rails-3 - Rails 3.1 提供来自供应商/资产/图像的图像

我正在尝试将一些外部图像(由 jQuery 插件使用)放到我的 Rails 3.1 应用程序中的供应商/资产/图像中。问题是当我尝试类似的事情时:

我收到一个错误:

我检查了我的 Rails.application.config.assets.paths 并列出了这些目录:

如您所见,/vendor/assets/images 列在那里。如果我将我的图像放到 app/assets/images 中,一切正常。

我认为新的资产管道应该遍历所有资产目录并在找到它的任何地方提供请求的文件。

有谁知道这里有什么问题?

0 投票
1 回答
318 浏览

javascript - 资产管道是否符合 3.1 浪费周期?

在 Rails 3.1 中,.coffee 和 //= 要求文件是否只处理一次或每次资产请求都处理一次?

例如,我有一个文件

p>

理想情况下,服务器会将这些编译成 js ONCE,然后捆绑它们,然后创建一个静态文件。但是如果它发生在每个资产请求上,重复它会浪费周期吗?

感谢您对此的任何指导。

0 投票
6 回答
36939 浏览

ruby-on-rails - Rails 3.1 资产管道:如何加载特定于控制器的脚本?

如果我在 Rails 3.1 中生成一个新控制器,也会自动添加一个带有控制器名称的 javascript 文件。首先,我认为只有在调用相关控制器时才会使用这个 javascript 文件。

默认情况下,-file 中有指令//= require_tree .application.js包括树上的每个 javascript 文件。

我怎么能只加载控制器特定的脚本?

0 投票
3 回答
1312 浏览

ruby-on-rails - Rails 3.1 资产管道不适合我

我正在将 Rails 2.5 应用程序升级到 Rails 3.1 rc4,并且在开发过程中遇到了大量与资产管道相关的错误:

基本上这里对 application.css 的请求返回一个空的正文。

首先我认为这可能是服务器问题,所以我切换到 webrick,但这并没有帮助。

非常感谢您的帮助。;-)

尼科

0 投票
2 回答
720 浏览

ruby-on-rails-3.1 - 用于链接样式表和图像的 jquery 插件的资产管道

在包含一些外部 javascript 代码时遇到了麻烦(示例可以是包含 css 和图像的 jquery.treeview 插件) - 在供应商/资产(应该去的地方)中,它似乎不适用于图像。有这样做的经验或例子吗?

0 投票
3 回答
1847 浏览

ruby-on-rails - Rails 3.1 资产管道和缓存

我正在使用 Rails 3.1 的资产管道,虽然它似乎在我的本地主机上的开发环境中完美地工作,但我在引擎场上遇到了很大的问题。

这是我的基本问题。

当我在我的一个 scss 文件中包含背景图像时:

我遇到了以下问题:即使我已经预编译了我的资产,浏览器请求/assets/shade.png的却/assets/shade-FINGERPRINT.png是实际存在的文件。

有人知道我可以通过在我的 .scss 文件中的资产文件夹中引用图像来解决这个问题吗?