Заменить переменную внутри машинописного файла из пакетного скрипта Windows - PullRequest
0 голосов
/ 21 сентября 2018

Я хочу изменить машинописный файл, который содержит информацию об окружении внутри углового проекта.Значение переменной должно быть изменено только во время сборки, которая инициируется через командный файл.

Файл среды выглядит следующим образом: (где сборка - это переменная, подлежащая изменению / замене)

export const environment = {
  host: 'http://localhost:8080',
  build: "1.0.0.0"
};

Мне трудно сделать то же самое с помощью пакетного файла.Файл среды различен для разных сред (local / qa / dev / prod), и сборка инициируется инженером по сборке.Текущий процесс сборки вызывает команду webpack и архивирует выходные данные.

Есть ли способ динамически заменить значение 'build' из каждой сборки?

Редактировать :Выяснил способ, вдохновленный https://www.bilyachat.com/blog/angular-2-build-version. Скоро обновлю как ответ.

1 Ответ

0 голосов
/ 03 мая 2019

Я решил это самостоятельно.Мое решение:

  1. Добавлена ​​переменная внутри файлов конфигурации, предназначенная для каждой среды
  2. Добавлена ​​библиотека replace-in-file для замены определенныхcontent (переменная- '% VERSION%'), которая находилась внутри определенного файла конфигурации, со значением, переданным при вызове команды ng-build-qa: node ./replace.build.js в package.json
  3. Содержимое файла 'replace.build.js:
var replace = require('replace-in-file');
var buildVersion = process.argv[2];
const options = {
    files: 'environments/environment.qa.ts',
    from: "%VERSION%",
    to: ""+ buildVersion + "",
    allowEmptyPaths: false,
};

try {
    let changedFiles = replace.sync(options);
    if (changedFiles == 0) {
        throw "Please make sure that file '" + options.files + "' has \"version: ''\"";
    }
    console.log('Build version set: ' + buildVersion);
}
catch (error) {
    console.error('Error occurred:', error);
    throw error
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...