问题标签 [rails-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.

0 投票
1 回答
32 浏览

ruby-on-rails - Sprocket 的要求如何工作?

我在 app/assets/javascripts 下有一个名为 application.js 的文件

i18n 实际上是我已经安装的 gem,我在 application.js 文件所在的同一文件夹中没有任何 i18n 文件,我已经在浏览器中看到该文件已成功连接到 application.js

我想知道这怎么可能?因为通常该文件应该在同一目录中。

0 投票
1 回答
30 浏览

ruby-on-rails - Rails 资产路径在asset_path 和 stylesheet_link_tag 之间不同

在 Rails 6 开发环境中使用 Sprockets,stylesheet_link_tag('mobile')生成:

但是stylesheet_path('mobile')会产生:

在开发服务器上,这两个资产路径都呈现相同的内容。

但我需要在服务人员中缓存正确的资产路径。如何生成与 stylesheet_link_tag 助手生成的资产路径相匹配的资产路径?

(我可以避免使用 stylesheet_link_tag 助手,但大概我在这里遗漏了一些东西)

0 投票
1 回答
29 浏览

ruby-on-rails - Ruby Sprockets v4.0 升级 FileNotFound(资产扩展名不匹配 .coffee、.scss - mime 类型?)

我最近更新了我的应用程序以使用 Sprockets 4.0:https ://www.rubydoc.info/gems/sprockets/4.0.0 我介绍了 manifest.js 文件,如下所述:https ://github.com/rails/sprockets/ blob/master/UPGRADING.md

我当前的资产描述在:application.coffee、application.light.coffee、application.scss、application.light.scss 文件中。在启动服务器时,我收到以下类型的错误:

  • couldn't find file 'jquery' with type 'text/coffeescript'
    • 资产可通过 .js 扩展名获得。
  • couldn't find file 'select2' with type 'text/scss'
    • 资产可用 .css 扩展名。

我之前使用的是 sprockets v3.7;gemfiles 已正确添加。我尝试在升级后清除 tmp/cache。

有人可以在这里推荐前进的道路。我已经交叉检查了这个问题的所有线程。到目前为止,我正在重命名 application.coffee -> application.js、application.cscc -> application.css,但它看起来并不是理想的解决方案。

manifest.js

0 投票
0 回答
28 浏览

ruby-on-rails - 导轨