Проблема с кэшем шаблонов Angular 6 (для html-файлов) при сборке gulp - PullRequest
0 голосов
/ 01 января 2019

У нас есть проблема с кэшем шаблонов для html-файлов, и мы хотели бы решить ее, не удаляя данные кэша (если мы удалим их, мы увидим проблему с производительностью).Есть ли у вас какие-либо предложения для этого?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Спасибо за ваш ответ, но наше решение немного отличается.В нашей компании мы используем сервер weblogic, и когда мы разворачиваем приложение, оно создает все ресурсы в определенной папке и снова и снова (содержит предыдущие).После удаления ненужных ресурсов приложение начинает работать правильно.

0 голосов
/ 02 января 2019

Одно хорошее решение для вашей проблемы называется ревизия файла или Хеширование , концепция такого подхода такова:

просто переименуйте каждый html / js / imgфайл, обслуживаемый нашим приложением путем конкатенации случайного хэша перед расширением файла

Существует множество возможных способов сделать это.Один хороший способ - это 3 шага:

Шаг 1. Создание ревизия: переименовать Gulp Task

    gulp.task(“revision:rename”, [“compile”], () =>
      gulp.src(["dist/**/*.html",
                "dist/**/*.css",
                "dist/**/*.js",
                "dist/**/*.{jpg,png,jpeg,gif,svg}"])
      .pipe(rev())
      .pipe(revdel())
      .pipe(gulp.dest(“dist”))
      .pipe(rev.manifest({ path: “manifest.json” }))
      .pipe(gulp.dest(“dist”))
    );

Шаг 2.Создание ревизия: updateReferences задача gulp

    gulp.task(“revision:updateReferences”, [“compile”, “revision:rename”], () =>
      gulp.src([“dist/manifest.json”,”dist/**/*.{html,json,css,js}”])
      .pipe(collect())
      .pipe(gulp.dest(“dist”))
    );

Шаг 3. Создание compile: production задача gulp

    gulp.task(“compile:production”, [“compile”, “revision:rename”, “revision:updateReferences”]);

Это 3-х ступенчатое решение, взятое из:

medium.com - Решение проблемы с кэшем браузера с помощью Gulp-Rev - Фелипе Бернардес

...