Rails 5:添加引导程序杀死了我在heroku中的javascript文件



我构建了一个演示应用程序来演示简单的无限滚动。我用零 css 和样式构建了它,并将其部署到 heroku,它按预期工作。

为了美化它,我决定合并引导程序,这样表格就更大了,你不必缩小窗口来点击滚动事件。但是,添加引导程序似乎杀死了我应用程序中的所有javascript。以下是包含引导程序的演示应用程序的副本:

https://tranquil-taiga-22790.herokuapp.com/

除了您需要在应用程序中更改的内容外,代码是相同的.js以便包含bootstrap-sprockets

//= require jquery
//= require jquery_ujs
//= require bootstrap-sprockets
//= require turbolinks
//= require_tree .
console.log("works with bootstrap?");

如您所见,我包含了一个根本没有显示的测试消息。我还尝试在两个jquery需要之间放置require bootstrap-sprockets,但仍然什么都没有。这是我尝试执行的特定js文件:

$(function() {
console.log("anything?");
if ($('#infinite-scrolling').size() > 0) {
return $(window).on('scroll', function() {
var more_posts_url;
console.log('scroll?');
more_posts_url = $('.pagination .next_page').attr('href');
if (more_posts_url && $(window).scrollTop() > $(document).height() - $(window).height() - 100) {
console.log('hit');
$('.pagination').html('<p>Loading...</p>');
$.getScript(more_posts_url);
}
return;
});
}
});

我应该注意,该应用程序的引导版本在我的本地机器上完美运行,当它在 heroku 中投入生产时发生了一些事情。

编辑:这不是一个令人满意的答案,但我只使用 BS3 的bootstrap-sassgem 重新创建了完全相同的应用程序(而不是像这个原始问题那样使用 BS4 alpha 的bootstrapgem),一切都在生产中工作。这让我相信这完全是一个 BS 问题。

我遇到了类似的问题,我将以下内容放在我的 gem 文件中,一切正常。不确定它是否对您同样有效,但认为值得一试......

# use scss for stylesheets
gem 'sass-rails', '~> 5.0'
# make everything pretty with boostrap by twitter
gem 'bootstrap-sass', '~> 3.3.6'
# needed for popups and tooltips to work
source 'https://rails-assets.org' do
gem 'rails-assets-tether', '>= 1.3.3'
end

最新更新