Как передать конфигурацию в indexTransform в angular-cli?
Я хотел бы использовать функциональность indexTransform в проекте angular 8 (angular-cli), но свойство конфигурации targetOptions остается пустым.
Я попробовал пример проекта здесь: https://github.com/just-jeb/angular-builders/tree/master/packages/custom-webpack/examples/full-cycle-app
Но в примере проекта конфигурация также пуста.
module.exports = (targetOptions, indexHtml) => {
targetOptions.configuration // configuration is empty
}
Где я могу определить конфигурацию, которая должна быть передана в функцию обратного вызова?
0 ответов
Конфигурация отражает значение, переданное параметрам --configuration=configurationName в ng build, поэтому в режиме разработки всегда пусто.
если вы строите с флагом --prod (это псевдоним --configuration=production), вы можете увидеть, что конфигурация правильно заполнена
Ниже вы можете найти пример использования. Этот код добавляет в элемент head элемент метатега с местоположением службы api.
const allSettings = {
development: {
apiUrl: "http://localhost:8000"
},
production: {
apiUrl: "https://myapiserver/"
}
}
module.exports = (targetOptions, indexHtml) => {
const i = indexHtml.indexOf('</head>');
// if empty assumes 'development'
const configuration = targetOptions.configuration || "development";
// load settings (by configuration)
const settings = allSettings[configuration];
// build meta tag
let customHead = "";
customHead += `<meta name="apiUrl" content="${setting.apiUrl}">`;
// add customHead before head end tag
return `${indexHtml.slice(0,i)}
${customHead}
${indexHtml.slice(i)}`
}