【问题标题】:Rails 3.2 including vendor 3rd party javascriptsRails 3.2 包括供应商第 3 方 javascripts
【发布时间】:2013-08-18 11:30:09
【问题描述】:

我的供应商文件夹中有一个名为 hammer.js 的文件,我想将我的第 3 方 js 保存在 vendor/assets/javascripts 中,并将所有自制的东西保存在 app/assets/javascripts 中。

但是在预编译我的资产时,rails 不会从供应商那里获取我的资产。在我的清单文件中,我指定了//= require vendor,它不起作用所以我尝试了//= require hammer,我尝试了//= require hammer.js,从我读到的这些解决方案似乎对其他人有用。但它根本没有加载它

注意:我每次都做bundle exec rake assets:precompile 并检查公共资产,我每次尝试替代时都会渲染页面并查看加载的资源。

编辑

//= require jquery
//= require jquery.ui.all
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts
//= require_tree .

所以我尝试了这个。但它仍然没有加载

在 config/environments/production.rb 我有以下内容

# Code is not reloaded between requests
config.cache_classes = true

# Full error reports are disabled and caching is turned on
config.consider_all_requests_local       = false
config.action_controller.perform_caching = true

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress JavaScripts and CSS
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false

# Generate digests for assets URLs
config.assets.digest = true

抱歉,这是我第一次在 Rails 中设置 js。

【问题讨论】:

    标签: ruby-on-rails assets vendor


    【解决方案1】:

    尝试如下加载它们(注意路径):

    //= require_tree ../../../vendor/assets/javascripts
    

    【讨论】:

    • 有没有办法在供应商中引用清单,然后简单地引用它。为什么在进入应用程序目录之前需要../../../?抱歉,这可能是一个愚蠢的问题。只是想尝试了解其背后的计算机科学?
    • 我没有尝试过多个清单并且不知道它,但肯定会调查它。对于第二部分,我猜../../../ 的原因是清单在app/assets/javascripts 中,所以向上三层。
    • @TheLegend,确认一下,多个清单是可能的。所以是的,你可以在vendor/assets/javascripts 中创建一个清单并使用//= require ../../../vendor/assets/javascripts/my_manifest 引用它
    【解决方案2】:

    如果你想将hammer.js 预编译为一个单独的文件,我猜你应该在config/environments/production.rb 中更改config.assets.precompile

    喜欢config.assets.precompile += %w{ hammer.js },你会看到public/assets/hammer.js

    【讨论】:

    • 我有 'config.assets.compile = false' 将其更改为以前的方式。为什么他们现在让资产管道默认忽略供应商资产?
    猜你喜欢
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2012-12-19
    • 2017-04-27
    相关资源
    最近更新 更多