У меня есть файл javascript, который я помещаю в папку client/lib в моем приложении Meteor. По мере увеличения файла я решил разбить его на 3 файла и определить объект «Приложение» в глобальном пространстве имен, чтобы эти 3 файла могли делиться данными.Обмен глобальными переменными между файлами javascript, загруженными в Meteor
Каждый файл начинается с
var app = app || {};
(function() {
'use strict';
app.object1 = {
Таким образом, file2 и file3 все еще может использовать app.object1, и так далее.
Проблема заключается в том, что Meteor загружает файлы, они, как представляется, автоматически обертывают ее функцией() {}, и это делает app.object1 недоступным из файлов, загруженных впоследствии.
(function(){
var app = app || {};
(function() {
'use strict';
app.object1 = {
Каков наилучший способ избежать этой проблемы? Благодарю.
EDIT: Я ссылался на эту публикацию [ссылка:] [1] Global variables in Meteor, которая предлагает определить переменную без «var». Я заменил код в файле1 на app = {}, но мое приложение теперь сбой в файле2 в следующей строке кода, с сообщением от консоли Meteor, вставленной ниже.
app.ALL_LIST = 'all'
=> Ваше приложение сбой. Ожидание изменения файла. ReferenceError: приложение не определено
Возможный дубликат [Глобальные переменные в Метеор] (http://stackoverflow.com/questions/27509125/global-variables-in-meteor) –
Спасибо за полезную ссылку. Затем следуйте инструкциям в этой ссылке и создайте пакет, который экспортирует глобальную переменную. Теперь это работает. –