Javascript Meteor函数跨所有.js项目文件定义
假设我有一个函数,返回客户端java脚本文件中播放器的特定id:Javascript Meteor函数跨所有.js项目文件定义,javascript,meteor,Javascript,Meteor,假设我有一个函数,返回客户端java脚本文件中播放器的特定id: var playerId = function () { return Player.findOne({current:true})._id; }; 然而,随着项目的发展,我开始将代码分解成各种.js文件(player.js、game.js、round.js等)。当我想重用该函数时,问题就出现了。我无法从其他.js文件调用playerId()函数。现在,我只是将这个函数复制并粘贴到每个使用它的.js文件中。有没有一个地方
var playerId = function () {
return Player.findOne({current:true})._id;
};
然而,随着项目的发展,我开始将代码分解成各种.js文件(player.js、game.js、round.js等)。当我想重用该函数时,问题就出现了。我无法从其他.js文件调用playerId()函数。现在,我只是将这个函数复制并粘贴到每个使用它的.js文件中。有没有一个地方我可以定义这个函数,这样每个.js文件都可以使用它 您可以在另一个文件中使用其.js名称来调用该函数 例: player.js
var player = {
init: function() {
player.playerId();
},
playerId : function () {
return Player.findOne({current:true})._id;
}
}
$(document).ready(function () {
player.init();
});
game.js
game: function(){
var p = player.playerId()
}
除了给出修复文件依赖性的明显提示之外,我能给出的最好建议是使用一个名为的优秀库。这不仅会自动处理文件依赖顺序和下载,而且还将保持这些类型的实用程序函数的全局范围干净。Require还将迫使您养成更好的编程习惯,这就是我提倡学习/使用Require来解决您的问题的原因。正确的答案只是删除您希望导出的变量声明语句中的var。
另外,请按照以下规则确保加载顺序正确:Require JS不适用于Meteor AFAIK,因为Meteor以不同的方式加载文件