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