我是网络开发的新手。正如标题所述,我在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);
});
如果您需要更多信息,请与我们联系。
由于
答案 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。 >