在我的Meteor.js项目中,Meteor.startup仅在localhost上运行而未部署。是什么导致这种奇怪的行为这些都不会在部署版本上运行。
Meteor.startup(function() {
$('.carousel.slide').carousel();
$("#inputdl").typed({
strings: ["e.g. youtube.com/watch?v=WLGdXtZMmiI", "e.g. mixcloud.com/nicky-romero-protocol", "e.g. metacafe.com/ownage_pranks_hilarious", "e.g. twitch.tv/pokernighttv", "e.g. soundcloud.com/hucci/montana", "e.g. vine.co/playlists/mlb-2015", "e.g. vimeo.com/71278954"],
attr: "placeholder", //attribute
typeSpeed: 30, // typing speed
startDelay: 500, // time before typing starts
backSpeed: 3, // backspacing speed
backDelay: 400, // pause before backspacing
loop: true, // loop on or off (true or false)
loopCount: false, // number of loops, false = infinite
showCursor: true, // show cursor
callback: function(){ } // call function after typing is done
});
Session.setDefault('button_value', 'Download');
Session.setDefault('title', 'Paste URL and click Download');
});

答案 0 :(得分:3)
Meteor.startup
触发。目前,.carousel.slide
和#inputdl
可能尚未呈现,从而引发错误。您应该将该代码放在Template.templatename.onRendered(func(...))
而不是Meteor.startup(...)
。
您检查过浏览器控制台吗?你看错了吗?如果没有,如果你获得jQuery代码并在浏览器控制台中输入Session.get('button_value')
会发生什么?另请查看server logs以查看服务器上的某些内容是否有效。
您的机器上是否有最新版本的Meteor?也许你在项目的某个地方有一些不赞成使用的功能。如果一切都失败了(删除了包含的jQuery代码),请尝试在其中创建一个带有Meteor.startup(...)
的空白流星项目。如果它工作,则将所有文件复制到该项目并进行部署,直到您发现部署的版本已损坏。 (相当笨拙,但是我们无法检查整个项目的错误。)如果它不起作用,那么在另一台机器上尝试。如果这不起作用,Meteor的部署代码或其服务器必须被破坏,但我发现这不太可能。