簡體   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