У меня есть локальная машина разработки и тестовый сервер. Теперь у меня есть APP_ID, который используется в Javascript. Я искал способы, которыми они могут отличаться на моей локальной машине и на тестовом сервере.
С помощью gulp можно добавить флаг в командной строке:
gulp build --env=production
Таким образом, я могу получить правильный APP_ID из файла. Единственная проблема заключается в этом подходе, мне нужно запустить мою сборку на сервере, на данный момент я запускаю gulp локально и загружаю изменения на свой сервер
Можно ли строить на сервере? Существуют ли другие способы использования переменных среды в Javascript?
Мое предложение состоит в том, чтобы не строить на сервере, а строить локально, а затем развертывать на сервере, используя одно из множества решений развертывания (например, deployer.org для php). Обычно javascript NPM-пакеты помещают вывод сборки даже в репозиторий GIT, готовый для использования в других проектах или для развертывания.
Для получения дополнительной информации о том, как использовать переменную env в узле (gulp run over node), см. Эту страницу
Например, в linux вы можете установить переменную env с помощью экспорта
app.js:
console.log(console.log(process.env.foo))
Затем попробуйте
> export foo=app1
> node app.js
Res: app1
Затем попробуйте
> export foo=app2
> node app.js
Res: app2
Это справедливо только в том случае, если вы запускаете серверный сервер на узле (ex gulp). Если вы разрабатываете библиотеку на стороне клиента и хотите создать разные сборки, предназначенные для разных окружений, вам нужно дать указание на это. В этом случае это руководство, которое может помочь вам