JS,JQuery不使用heroku

时间:2017-08-15 18:45:30

标签: javascript jquery ruby-on-rails ruby heroku

我是网络开发的新手。正如标题所述,我在Heroku中遇到了我的JS问题。我在rails 5.1上使用ruby,当我将我的项目推送到Heroku master时,一切都运行正常,但JavaScript。过去两天我一直在谷歌搜索这个。我已经尝试组织// = require etcetc,尝试修改我的代码,尝试将config.assets.compile = false更改为true并在StackOverflow中尝试了4到5个不同的结果,如(Javascript features work on localhost but not when deployed to Heroku) 。真的不知道我还能做什么。 这是我的application.js

//= require jquery
//= require rails-ujs
//= require turbolinks
//= require jquery.easing
//= require bootstrap-sprockets
//= require creative
//= require_tree .

$(document).on('turbolinks:load', function() {
// Offset for Main Navigation
$('#mainNav').affix({
    offset: {
    top: 50
}
});

$("#button-transform").click(function() {
  $('.transform').toggleClass('transform-active');
});

window.setTimeout(function() {
$("#flash").fadeTo(2500, 0).slideUp(1750, function() 
{
    $(this).remove();
});
}, 3000);

});

如果您需要更多信息,请与我们联系。

由于

3 个答案:

答案 0 :(得分:1)

我设法解决了我的问题。最后,经过数小时的研究,我放弃了这个问题并开始做一些CSS风格。当我试图将新CSS推送到Heroku时,我遇到了同样的问题。没有在Heroku中显示更新的CSS。再次,做了一些研究并发现了这一点;

bundle exec rake assets:precompile

起初,它对我不起作用。有人说我需要安装yarnpkg,我已经安装了。所以,做了一些更多的研究,最后注意到我无法执行bundle exec rake资产:预编译,因为我在分支存储库而不是主服务器。检查了主人,再次运行命令,检查了CSS,它正在运行。以及JQuery。 要回答我的问题,

bundle exec rake assets:precompile

是帮助我的命令。

步骤

bundle exec rake assets:precompile
git add --all
git commit -m "some message"
git push heroku master

答案 1 :(得分:0)

jQuery Turbolinks不支持通过$(document).on('ready', function)绑定的就绪事件。相反,请使用$(document).ready(function)$(function)

这将工作:

$(document).on('ready', function () { /* ... */ });

这两个保证有效:

$(document).ready(function () { /* ... */ });
$(function () { /* ... */ });

答案 2 :(得分:0)

我知道这篇文章发布已经有一段时间了,但对我来说修复很简单。

而不是使用它来导入 jquery:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>`

您需要这样做:

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>`

那是因为 Heroku 需要一个安全连接,这意味着 https 而不是 http。 >