【问题标题】:Serve Javascript file without timestamp and separate from application.js提供没有时间戳并与 application.js 分开的 Javascript 文件
【发布时间】:2014-05-30 03:58:44
【问题描述】:

我想在生产(heroku)中提供一个特定的 js 文件,而不需要时间戳。 我可以单独提供文件,但它带有我不想要的时间戳。原因是我希望其他站点能够访问此文件。

代码如下:

application.html.erb

<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'ca4me', 'data-turbolinks-track' => true, :cache => false %>

应用程序.js

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-slider
//= require bootstrap.min

应用程序.rb

config.assets.precompile += %w( ca4me.js )

生产环境中的 HTML 源代码:

<script data-turbolinks-track="true" src="/assets/application-b83af88604eb0fb1867384db77b826ae.js"></script>
<script cache="false" data-turbolinks-track="true" src="/assets/ca4me-fcff49d8b1799052a3f84c913160f6b2.js"></script>

那么我可以在没有时间戳的情况下提供 ca4me.js 吗?

【问题讨论】:

  • 将其放入/public/,而不是资产管道中。

标签: ruby-on-rails heroku asset-pipeline


【解决方案1】:

文件

原因是我希望这个文件被其他网站访问。

我们这样做了:

/public/your_js_file.js

保持更新很痛苦,但这意味着您的应用程序将始终在/____.js 上提供该文件。事实上,当您使用资产预编译时,资产会部署到 public 目录中的文件夹中,如下所示:

- public
 |-stylesheets
 |-javascripts
 |-images

如果您希望为其他网站保留文件(例如小部件或其他东西),我个人会使用 Grunt 或类似方法将代码库与您的 Rails 应用程序分开(将文件保存到 @987654328直接@。


摘要

我想了解这个,我found this

config.assets.digest_exclusions << /fontawesome/

唯一的问题是digestion gem - 意味着它在 Rails 4 中不可用。我仍在尝试查找有关如何在 Rails 4 中完成此操作的信息,我建议现在查看上面的解决方案

--

就我个人而言,如果我想要一个静态位置供人们访问,我会依赖资产管道来管理我的资产,并在public 中保存一个文件。文件(库?)可能会与 Rails 应用程序一起更新,尽管是专门更新的;这意味着您可能希望将代码库分开

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多