问题标签 [sprockets]
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.
ruby-on-rails - 链轮重复文件命名
我的资产路径中有以下文件:
自然,他们都会被要求为assets/abc.js
.
有解决办法吗?如果没有,需要修改 Sprockets 源的哪一部分?
我的想法是,如果引擎可以删除扩展名,它就可以添加一个后缀。
ruby - 带有链轮的 Sinatra 应用程序无法在 Heroku 上运行
我有一个小 Sinatra 应用程序,包括这个模块:
并定义了以下路线:
一切都很好,资产在我的本地机器上使用pow
. 但是在 Heroku 上没有加载单个资产,服务器只为每个资产文件返回 404。
css - @font-face eot?iefix 的资产管道问题
我正在开发一个 rails 应用程序,试图使用 rails 3.1 和资产管道配置字体。
我刚看了一下这个帖子
并使用该示例我从 sass 得到语法问题。
我的代码如下:
出于某种原因,我得到了错误
Sass::SyntaxError: "...'fonts/COAMEI_B" 之后的无效 CSS: 预期 ")", 是 ".eot')+"?#iefix..."
我的 css 文件中是否缺少某些内容。任何帮助将不胜感激。
提前致谢
ruby-on-rails - “require_tree 参数必须是目录” rails 3.1.1 预编译资产
我一直在尝试让资产在我的生产服务器上进行预编译(使用 ruby 1.9.2 和 Rails 3.1.1 直接安装 ubuntu,并尝试使用新的 sprockets 2.10 安装 3.1.2RC) .
“require_tree 参数必须是目录”。我已经在堆栈上看到了与此相关的其他问题,但情况并不完全相同,并且所提出的解决方案都没有帮助 - 比如在子文件夹中创建一个存根文件,然后在那时仅相对引用。没运气。
最重要的是,这当然适用于生产环境中的所有开发机器(mac,但具有相同的配置,甚至匹配 gem 的 gem)。
这是我的 /app/assets/javascript/application.js:
没什么。基本上只是指向应用程序区域的真实清单文件(是的,不完全是盒装的香草 Rails 而是......)
这是我的视图/管理员(/views/app/manifest.coffee.js)中的存根清单:
就像我说的,在开发环境中,完全没有问题。资产管道即时编译,一切都很好。运行,rake assets:在开发机器上预编译,也没有问题。
我将它发送到生产机器并运行完全相同的代码,我得到:
require_tree 参数必须是目录
这里必须有一些我没有看到的微小差异。任何帮助将非常感激!
ruby-on-rails-3.1 - 如何在 Rails 3.1 中优化资产编译 rake 任务,同时部署占用所有内存?
生产箱是 Linode 的 768MB 节点。当我部署 Rails 3.1 应用程序时,会进行资产编译,这会在加载了 Rails 应用程序 env 的情况下调用其他 2 个 rake 任务。
因此,一项任务占用了 30% 的内存,这使得 3 个任务占用了 90% 的内存,并且 capistrano 命令因zlib(finalizer): the stream was freed prematurely.
错误而死。
它让我很沮丧,因为它已经吃了我一整天了!!
ruby-on-rails - 未找到 Sprockets 文件异常
我正在尝试一些 Rails 的示例应用程序。我创建了一些控制器和页面。但是当我尝试访问其中一个时,我在网页上遇到异常:
我使用以下命令创建了一些控制器:
只是想知道问题可能出在哪里以及在哪里寻找?我通过 URL 访问页面:http://localhost:3000/pages/home
ruby-on-rails-3 - Sprockets and rails 3 - 添加新的预编译js文件
我目前有一个文件app/assets/javascripts/application.js
,其中包含一个要求列表,当我运行rake assets:precompile
清理、缩小并将所有列出的文件连接到public/assets/application.js
. 这一切都很好。
但是,我想添加另一个名为“show_tale.js”的预编译 js 文件,其中包含要提取的不同 js 文件列表。我添加了一个show_tale.js
文件app/assets/javascripts
,其中包含要求列表。但是,当我这样做时rake assets:precompile
,它不会public/assets/show_tale.js
像我想要的那样构建文件。
我猜在某些配置文件中我需要将“show_tales”或“show_tales.js”添加到某个列表或选项中,但我无法确定在哪里/如何执行此操作。谁能让我直截了当?
谢谢,最大
javascript - 需要在 rails 3.1.0 中使用 Sprockets 进行脊柱移动
我想在 Rails 3.1.0 中使用用于脊柱的移动库。我尝试将以下内容添加到我的 index.js.coffee:
和
但这两者都会导致错误:找不到文件
使用 hem 时,您可以在 slug.json 文件中指定依赖项并运行
如何使用 Rails/Sprockets 安装依赖项?
ruby-on-rails-3 - 在 Rails 3.1 下根据请求使用自定义变量编译 Sass
在 Rails 3.1 应用程序中,一个控制器需要使用一组自定义变量让其所有视图编译它们在每个请求中可能需要的任何 Sass 样式表。理想情况下,编译必须通过资产管道进行,以便生成基于内容的资产名称(包括内容的 MD5 散列的名称)。对于解决方案来说,使用纯 Sass 功能而不是诉诸于例如 Sass 样式表的 ERB 处理是很重要的。
根据我在这里和其他地方所做的研究,以下似乎是一种可能的方法:
设置变量访问
使用自定义 Sass 函数创建某种类型的变量访问器桥,例如,如Konstantin Haase 在此处( gist ) 所述。这似乎很容易做到。
通过 Sass 部分配置所有变量访问,例如
_base.sass
Compass 方式。部分可以使用上面定义的自定义函数。也很容易。
捕获所有资产参考
装饰
asset_path
视图对象的方法。我有这个运作良好。使用
Sprockets::Environment
. 这也运作良好。
强制资产重新编译,无论文件修改时间如何
我还没有找到一个好的解决方案。
我已经看到了通过实例化一个新的
Sass::Engine
并传递将在Sass::Script::Functions::EvaluationContext
. 这种方法的问题是我必须自己管理文件命名和路径,而且我总是冒着可能偏离 Sprockets 所做的事情的风险。无论文件修改时间如何,我都找不到任何基于每个请求强制 Sprockets 处理的示例,这也允许自定义变量传递。
我很感激对一般方法的评论以及关于如何最好地处理 (3) 的任何具体指针/建议。