Я пытаюсь собрать и развернуть свой проект angular 9 в производственной среде. Основная цель - защитить IP-адрес и учетные данные моих внутренних служб, поскольку эти среды не могут быть открыты для кого-либо из-за проблем с безопасностью. Build and Serve отлично работает для текущих настроек, но проблема в том, что я не могу получить доступ / прочитать переменные среды, кроме той, которую я создал с помощью оболочки. Только я могу прочитать значение переменной TEST1 , но BASE_URL и NOTIFICATION_URL показывает undefined. Одна важная вещь заключается в том, что я понятия не имею о переменной среды системной ОС и не могу ли она работать в производственной сборке. Я просто погуглил и создал эти переменные в оболочке, и эхо показывает значение правильно, но я не уверен, что я в порядке. Пожалуйста, предложите мне подходящий способ или в настоящее время, где я допустил ошибку. А как насчет производства?
Созданные мной переменные оболочки:
переменные оболочки
Пользовательский Webpack
const webpack = require('webpack');
module.exports = {
plugins: [new webpack.DefinePlugin({
'process.env': {
BASE_URL: JSON.stringify(process.env.BASE_URL),
NOTIFICATION_URL: JSON.stringify(process.env.NOTIFICATION_URL),
TEST1: JSON.stringify(process.env.TEST1)
}
})]
}
typings.d.ts
// @ts-ignore
declare var process: Process;
interface Process {
env: Env
}
interface Env {
BASE_URL: string
NOTIFICATION_URL: string
TEST1: string
}
interface GlobalEnvironment{
process: Process;
}
среда .prod.ts
export const environment = {
production: true,
baseUrl: `${process.env.BASE_URL}`,
notificationUrl: `${process.env.NOTIFICATION_URL}`,
test: `${process.env.TEST1}`,
};