【发布时间】:2015-09-21 14:04:37
【问题描述】:
我有一个 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: 应用未定义
【问题讨论】:
-
感谢您提供有用的链接。按照该链接中的说明创建了一个导出全局变量的包。现在可以了。
标签: javascript meteor