由于某些原因,在运行rake assets:precompile之后,application.js中的require语句将保持不变。下面是编译后的application.js的样子:
//
//= require jquery
//= require jquery_ujs
//= require_directory .
//= require twitter/bootstrap
//= require rails.validations
$(document).on("click", '.show', function(e) {
var value = $(this).attr('data-big-url');
$('.image_container img').attr('src', value);
return false;
});//= require语句应该被替换!
有什么主意吗..。
谢谢!
编辑:未编译的application.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
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require_directory .
//= require twitter/bootstrap
//= require rails.validations
$(document).on("click", '.show', function(e) {
var value = $(this).attr('data-big-url');
$('.image_container img').attr('src', value);
return false;
});
// $(window).load(function() {
// $('#featured').orbit();
// // $('#featured-bg').orbit();..。
看起来完全一样!
这是我的production.rb
config.serve_static_assets = true
config.assets.compress = false
config.assets.compile = false
config.assets.digest = false发布于 2014-04-29 11:52:23
最后,我解决了这个问题:
我不得不降级到Ruby1.9.3。
不幸的是,我仍然不知道是什么原因的问题,但现在我的资产编译正确。
发布于 2014-04-28 08:36:48
我可能错了,但我不相信你会希望require ____在预编译的JS文件中
原因是
require行称为指令,用于指导为资产创建manifest.json文件。清单基本上告诉Rails哪些文件构成了您的资产,从而使它能够有效地编译它们。
您可以从Rails指南这里中看到预编译文档--基本上说您从预编译中获得的文件是“独立的”文件。它们是作为静态文件加载的,没有任何预处理程序或指令。
我想试试这个:
$ rake assets:precompile RAILS_ENV=production 这将像编译生产环境一样编译这些文件,并将它们存储在/public/assets中作为一个裸JS / CSS文件。
https://stackoverflow.com/questions/23334970
复制相似问题