Цель:
Передать аргумент, который будет использоваться во время сборки, чтобы иметь возможность использовать его в моем файле .env.production (или что-то, что позволяет мне использовать его как переменную среды, если это невозможно).
.env.production файл:
VUE_APP_CLIENT_ID=00-should-be-using-what-was-passed-by-command-00
Файл Docker:
#Inside my docker file
RUN npm run build #I need to pass the argument here
Мои сценарии package.json:
"scripts": {
"serve": "vue-cli-service serve --mode development",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"test:unit": "vue-cli-service test:unit"
},
Почему:
OBS: я использую webpack, он уже настроен с помощью vue-cli
Я знаю, что могу настроить различные файлы и режимы .env, но мне нужнобыть в состоянии «внедрить» или иметь динамическую переменную в моем файле .env.production, так как иногда я создаю для производства для разных серверов.
Я мог бы создать еще больше файлов, и это решило бы мою проблему, но я хочу что-то более практичноечто то.
Контекст:
Я использую Docker и Auth0, и я на самом деле использую переменную VUE_APP_CLIENT_ID
env, которая определяет, будет ли она запрашивать запрос, у меня уже есть два разных VUE_APP_CLIENT_ID
Определения (одно на .env.development одно на .env.production) дело в том, что мне нужно развернуть одно и то же только на двух разных серверах, каждый из которых нацеливается на разные client_id на производстве.
Инструменты:
Docker, docker-compose, Vue.js, vue-cli 3, npm
ОС:
Ubuntu 16.04