Как я могу поднять переменную над всеми импортами в ES6? - PullRequest
0 голосов
/ 25 декабря 2018

В основном я использую babel для переноса моего приложения nodejs, чтобы я мог использовать es6, а также пакет node-config.

Пакет node-config по умолчанию ищет конфигурации в папке / config,Это можно переназначить, выполнив что-то вроде этого ДО загрузки конфигурации.process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";

Однако, поскольку я использую ES6, импорт загружается и всегда загружается до запуска какого-либо кода.

Мне было интересно, есть ли способ поднятьприведенный выше код выше всего импорта, чтобы он работал до загрузки node-config?Или, если есть другой способ решить эту проблему?

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 25 декабря 2018

Поскольку вы используете Babel, вы можете написать свой собственный плагин, который делает все, что вам нужно, например, добавив этот оператор в файл, где он вам нужен.

Если вы хотите решить это в самом источнике,обратите внимание, что импорт выполняется по порядку, поэтому вы можете выполнить

// main.js
import './configure-node-config';
import 'node-config';
…

// configure-node-config.js
process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";

и быть уверенным, что process.env был видоизменен до загрузки node-config.

...