流星函数定义所有.js项目文件

时间:2014-07-23 17:50:20

标签: javascript meteor

假设我有一个函数,它返回客户端java脚本文件中播放器的特定id:

var playerId = function () {
    return Player.findOne({current:true})._id;
};

然而,随着项目的发展,我已经开始将我的代码分解为各种.js文件(player.js,game.js,round.js等)。当我想重用时,问题出现了。功能。我不能从另一个.js文件中调用playerId()函数。到目前为止,我只是将函数复制并粘贴到每个使用它的.js文件中。有没有我可以定义函数的地方,以便它可用于每个.js文件?

3 个答案:

答案 0 :(得分:3)

正确的答案就是删除要导出的变量的声明语句中的var。 http://docs.meteor.com/#namespacing

另外,请遵循以下规则确保加载顺序正确:http://docs.meteor.com/#structuringyourapp

答案 1 :(得分:0)

您可以使用其他文件中的.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()
}

答案 2 :(得分:0)

除了提供修复文件依赖性的明显提示之外,我可以给出的最佳建议是使用名为Require JS的优秀库。这不仅会自动处理文件依赖顺序和下载,还会使您的全局范围保持清洁这些类型的实用程序功能。要求也会迫使你进入更好的编程习惯,这就是为什么我提倡学习/使用require来解决你的问题。