在加载到Meteor的javascript文件之间共享全局变量

时间:2015-07-03 17:21:12

标签: javascript meteor

我有一个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未定义

1 个答案:

答案 0 :(得分:1)

在变量声明中省略var;)然后它将全局范围。