Загрузка внешних модулей JavaScript в приложение Angular 4

Я считаю, что существует множество обстоятельств, в которых это имеет смысл, и это упрощает программирование, чтобы иметь некоторые глобальные переменные, которые известны через несколько (тесно связанных) модулей. В этом духе я хотел бы подробно остановиться на идее создания модуля глобалов, который импортируется теми модулями, которые должны ссылаться на них.

Когда есть только один такой модуль, я называю его "г". В нем я присваиваю значения по умолчанию для каждой переменной, которую я намерен рассматривать как глобальную. В каждом модуле, который использует любой из них, я не использую «from g import var», так как это приводит только к локальной переменной, которая инициализируется из g только во время импорта. Я делаю большинство ссылок в форме g.var и «g». служит постоянным напоминанием о том, что я имею дело с переменной, потенциально доступной для других модулей.

Если значение такой глобальной переменной должно часто использоваться в некоторой функции в модуле, то эта функция может создавать локальную копию: var = g.var. Тем не менее, важно понимать, что назначения var являются локальными, а глобальный g.var не может быть обновлен без ссылки на g.var явно в присваивании.

Обратите внимание, что вы также можете использовать несколько таких глобальных модулей различными подмножествами ваших модулей, чтобы держать вещи немного более жестко контролируемыми. Причина, по которой я использую короткие имена для моих модулей globals, заключается в том, чтобы избежать чрезмерного чрезмерного кодирования кода с их появлением. Имея лишь небольшой опыт, они становятся достаточно мнемоничными только с 1 или 2 символами.

По-прежнему можно выполнить назначение, скажем, g.x, когда x еще не определено в g, а другой модуль может затем получить доступ к g.x. Однако, хотя интерпретатор позволяет это, этот подход не настолько прозрачен, и я избегаю этого. По-прежнему существует вероятность случайного создания новой переменной в g в результате опечатки в имени переменной для назначения. Иногда изучение dir (g) полезно для обнаружения любых неожиданностей, которые могут возникнуть в результате такой аварии.

0
задан user1373121 18 January 2019 в 17:11
поделиться