繁体   English   中英

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

[英]Meteor function define across all .js project files

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

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

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

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

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

您可以使用其他文件中的.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 JS的优秀库。 这不仅会自动处理文件依赖顺序和下载,还会使您的全局范围保持清洁这些类型的实用程序功能。 要求也会迫使你进入更好的编程习惯,这就是为什么我提倡学习/使用require来解决你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM