我的供应商文件夹中有一个名为hammer.js
的文件我想将vendor/assets/javascripts
中的第三方js和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。
答案 0 :(得分:2)
尝试按如下方式加载它们(注意路径):
//= require_tree ../../../vendor/assets/javascripts
答案 1 :(得分:1)
如果您希望将hammer.js
预编译为单独的文件,我应该更改config.assets.precompile
中的config/environments/production.rb
。
与config.assets.precompile += %w{ hammer.js }
一样,您会看到public/assets/hammer.js
。