Я пытаюсь использовать gulp, чтобы добавить метку времени в мой HTML при сборке. Я использую Angular 7. Эта временная метка должна быть динамической и изменяться в зависимости от каждой сборки. В настоящее время у меня есть:
timestamp.js
var gulp = require('gulp');
var replace = require('gulp-replace');
var d = new Date();
console.log(d.toString());
var string = d.toString();
gulp.src('src/app/shared/footer/*.html')
.pipe(replace('GULPTIMESTAMP',string))
.pipe(gulp.dest('src/app/shared/footer/'));
Принимает все html-файлы в папке нижнего колонтитула (это всего лишь один html-файл) и заменяет все экземпляры GULPTIMESTAMP на текущую временную метку. Однако моя проблема заключается в том, что после его замены я не могу снова запустить файл timestamp.js, поскольку GULPTIMESTAMP уже заменен текущей меткой времени. Есть ли способ иметь переменную {{timestamp}} в моем html-файле, которая динамически изменяется в зависимости от начала каждой сборки?
Думая об этом, может быть, я мог бы изменить его в файле машинописи вместо HTML? Просто мысль
РЕДАКТИРОВАТЬ: решил, что редактирование файла машинописного текста будет лучше, чем редактирование непосредственно в HTML.
Машинопись
timestampBuild: any;
constructor() { }
ngOnInit() {
this.timestampBuild = 'GULPTIMESTAMP'
}
HTML:
<div style="color:red">Last Build Timestamp: {{timestampBuild}} </div>
После запуска сценария значение GULPTIMESTAMP в файле ts должно измениться на текущую временную метку. Но я сталкиваюсь с той же проблемой, когда мне просто нужно динамическое имя.