Я реализовал конфигурацию приложения для чтения из файла JSON из моего углового приложения, чтобы его можно было легко настроить после развертывания. Мы используем инструмент развертывания Octopus для развертывания углового приложения. Как вы знаете, наличие файла enviornment.ts генерируется как файл js, и очень сложно манипулировать настройками в Octopus, читая файл JS. Поэтому я создал файл config.JSON, который будет выводиться в папку dist, и Octopus deploy может использовать файл JSON для внесения изменений при необходимости.
В настоящее время приложение считывает значения из файла окружения, который, в свою очередь, являетсячтение значений, установленных в файле Config.JSON.
Я хотел бы знать, правильный ли мой подход?
Config.JSON
{
"settings": {
"production": false,
"userIdleMinutes": "10",
"corePingIntervalSeconds": "10",
"baseUrl": "http://localhost:57973",
"loginUrl": "/Login",
"adminUrl": "/Admin"
}
}
enviornment.ts
import config from '../assets/config.json'
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const environment = {
production: config.settings.production,
baseUrl: config.settings.baseUrl,
loginUrl:config.settings.loginUrl,
adminUrl: config.settings.adminUrl,
userIdleMinutes: config.settings.userIdleMinutes,
corePingIntervalSeconds: config.settings.corePingIntervalSeconds
};