call functions from separate files with Meteor

懵懂的女人 提交于 2019-12-03 08:14:11

问题


I want to create an application in Meteor, from what I understand the manual it first loads which are in subdirectories, and then follows the alphabetical order. My file structure is like this ...

/server
/lib
/client
    /lib
        game.js -> already starts declaring the function "makeBoard(){}"
    /template.js -> where the function "makeBoard()" is called.

thus appears that the error function "makeBoard()" does not exist, only works if I declare in the same file where I want to call it. Even when I move the file "game.js" to the same directory where "template.js", it happens. How should I correctly make references to resources that are in different files on Meteor?


回答1:


Define the function with makeBoard = function() { ... }.

Functions defined with function foo() { ... } are local to the file, as are variables defined with var bar = ....




回答2:


Using a globally defined variable, as avital suggests, will work, but is not a recommended code design choice (see JS mistake 1 listed here).

Instead in your lib directory you could create a file with:

Meteor.myFunctions = {
...
    makeBoard : function() { ... },
...
}

Then in any other js file you could call Meteor.myFunctions.makeBoard(). This should be done in the lib directory because Meteor guarantees the js files in lib are loaded before other directories, so your function will already be loaded.



来源:https://stackoverflow.com/questions/16534363/call-functions-from-separate-files-with-meteor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!