1

我的供应商文件夹中有一个名为的hammer.js文件,我想将我的第 3 方 jsvendor/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。

4

2 回答 2

2

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

//= require_tree ../../../vendor/assets/javascripts
于 2013-08-16T06:11:30.820 回答
1

如果你想hammer.js被预编译为一个单独的文件,你应该改变config.assets.precompileconfig/environments/production.rb我猜。

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

于 2013-08-16T06:13:36.617 回答