У меня есть приложение spring boot 2
со встроенным vuejs
концом шрифта на /static
с использованием gradle 5.1
.Приложение предназначено для размещения на разных серверах, поэтому URL-адрес API для приложения vuejs должен быть динамическим.
Самое разумное решение, которое я могу придумать, - это установить API_IP
переменные среды на серверах и позволить приложению vuejs
получить их следующим образом:
let url = `http://${process.env.API_IP}:9090/api`;
if (process.env.NODE_ENV === 'development') {
url = `http://localhost:8090/api`;
}
скрипт сборки gradle:
bootJar {
dependsOn ':ui:jar'
into('BOOT-INF/classes/static') {
from "${project(':ui').projectDir}/dist"
}
launchScript {
properties 'inlinedConfScript': 'startScript'
}
}
Однако я не могу передать переменную окружения в приложение vue.Каждая попытка заканчивается process.env.API_IP
, являющимся undefined
.process.env
всегда состоит только из BASE_URL
и NODE_ENV
.
пробовал:
export API_IP=*ip*
и затем запускает приложение весенней загрузки. - установить переменную в
/etc/environment
, выйти из системы, войти в систему, запустить приложение весенней загрузки - передать его в качестве аргумента запуска
-DAPI_IP=*api*
- установить
JAVA_OPTS=-DAPI_IP=*api*
в соответствии с https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html:
создать файл для
inlinedConfScript
, содержащий
API_IP=*api*
и
JAVA_OPTS=-DAPI_IP=*api*
или только по одному для каждого. создать
.conf
файл в том же каталоге с файлом
.jar
с теми же параметрами значений, что ив
#5
.
Пожалуйста, помогите:)