[英]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.