У меня есть приложение реакции, работающее в узле с рендерингом на стороне сервераВ моей тестовой среде для следующей переменной среды задано значение test
через kubernetes: process.env.NODE_ENV
.
Когда я запускаю следующие две команды, они дают разные результаты.Я ожидаю, что значение всегда будет test
.
log.debug(process.env.NODE_ENV) // logs development
log.debug(eval('process.env.NODE_ENV')) // logs test
Почему-то похоже, что переменная сначала интерпретируется как development
(что может произойти в моем коде, если она не определена), но как-то правильно интерпретируется как test
eval()
function.
Что может заставить узел по-разному интерпретировать значение между двумя выражениями?
EDIT: добавлен kubernetes yaml config.
Переменные $ {} заменяются на DevOps Azure во времяпроцесс выпуска.
apiVersion: v1
kind: ConfigMap
metadata:
name: config
namespace: ${KUBERNETES_NAMESPACE}
data:
NODE_ENV: ${NODE_ENV}
---
kind: Service
apiVersion: v1
metadata:
name: ${SERVICE_NAME}
spec:
selector:
app: ${SERVICE_NAME}
ports:
- name: http
protocol: TCP
port: 80
targetPort: 3000
loadBalancerIP: ${IP_NUMBER}
type: LoadBalancer
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: ${SERVICE_NAME}
labels:
app: ${SERVICE_NAME}
spec:
replicas: 2
selector:
matchLabels:
app: ${SERVICE_NAME}
template:
metadata:
labels:
app: ${SERVICE_NAME}
spec:
containers:
- name: ${SERVICE_NAME}
image: {IMAGE_PATH}/${IMAGE_REPO}:${BUILD_NUMBER}
ports:
- name: http
containerPort: 3000
protocol: TCP
resources:
limits:
cpu: 100m
memory: 1024Mi
requests:
cpu: 100m
memory: 1024Mi
envFrom:
- configMapRef:
name: config
imagePullSecrets:
- name: ${IMAGEPULLSECRETNAME}