我有一个javascript文件,我放在Meteor应用程序的client / lib文件夹中。随着文件变大,我决定将其拆分为3个文件并定义一个对象' App'在全局命名空间中,以便3个文件共享数据。
每个文件都以
开头var app = app || {};
(function () {
'use strict';
app.object1 = {
这样,file2和file3仍然可以使用app.object1,依此类推。
问题是当Meteor加载文件时,它似乎会自动用function(){}包装它,这使得app.object1无法从随后加载的文件中访问。
(function(){
var app = app || {};
(function () {
'use strict';
app.object1 = {
避免此问题的最佳方法是什么?感谢。
编辑:我提到了这个帖子[Link:] [1] Global variables in Meteor,建议在没有" var"的情况下定义变量。我将file1中的代码替换为app = {},但我的应用程序现在在以下代码行中的file2中崩溃,下面粘贴了来自Meteor控制台的消息。
app.ALL_LIST = 'all'
=>您的应用程序崩溃了。等待文件更改。 ReferenceError:app未定义
答案 0 :(得分:1)
在变量声明中省略var
;)然后它将全局范围。