как использовать системные переменные среды из сборки в vue?

#docker #vue.js

#docker #vue.js

Вопрос:

Я хочу использовать переменные среды операционной системы для построения моего проекта в vue.

Я знаю .env , что файл можно использовать в root, но в моем случае я хочу, чтобы vue получал их из ОС, в моем случае переменные среды с помощью docker.

Как я могу это получить?

Ответ №1:

С помощью docker вы можете добавлять переменные в docker-compose.yml

    environment:
                MYSQL_ROOT_PASSWORD: 'password'
                MYSQL_DATABASE: 'DB_DATABASE'
                MYSQL_USER: 'DB_USERNAME'
                MYSQL_PASSWORD: 'DB_PASSWORD'
                MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
 

Комментарии:

1. Я не хочу использовать файл .env, я хочу использовать переменные docker env при сборке yarn.

2. yarn — это инструмент управления пакетами.. Не следовать тому, чего вы пытаетесь достичь..

Ответ №2:

Пока вы делаете переменные env доступными в node, команда node, которая обслуживает / создает приложение Vue, сделает переменные доступными process.env.YOUR_VAR в любом js-файле проекта Vue.

Итак, теперь вопрос в том, как сделать переменные docker доступными в node, и ответ здесь: https://medium.com/@felipedutratine/pass-environment-variables-from-docker-to-my-nodejs-or-golang-app-a1f2ddec31f5

В основном это сводится к: sudo docker run [...] --env-file ./my_env.list [...]

Если вам нужна дополнительная информация о том, как создавать переменные среды в docker: https://docs.docker.com/compose/environment-variables /