ionic / angular, как заставить клиента чистить кеш браузера после каждого релиза? - PullRequest
0 голосов
/ 29 июня 2018

Я разработал приложение с использованием ionic-native 4.7.0. Каждый раз, когда я хочу опубликовать свое приложение в Интернете, я использую команду ionic build --minifyjs --minifycss --optimizejs. Это здорово, но мой клиент все еще получает старые JS и CSS. Они должны очистить кеш браузера, чтобы увидеть эволюцию.

Вот картинка из моих "скомпилированных" источников: enter image description here

Мои 0.js, 1.js, ... Лениво загруженные страницы и кэшируются моим клиентским браузером. Как заставить браузер сбрасывать кеш после каждого развертывания?

Спасибо!

Ответы [ 2 ]

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

Я нашел рабочее решение на https://forum.ionicframework.com/t/bundled-files-and-cache-busting-lazy-loading/109114/9

Создайте файл config/webpack.config.js в своем проекте со следующим содержанием:

    var webpack = require('webpack');
    const defaultWebpackConfig = require('../node_modules/@ionic/app-scripts/config/webpack.config.js');

    module.exports = function () {
        defaultWebpackConfig.prod.output['chunkFilename'] = "[name].[chunkhash].chunk.js";
        defaultWebpackConfig.dev.output['chunkFilename'] = "[name].[chunkhash].chunk.js";
        return defaultWebpackConfig;
    };

Ссылка на этот конфиг в вашем package.json:

    "config": {
        "ionic_webpack": "./config/webpack.config.js"
    }

Тогда файлы 0.js, 1.js, ... получат случайные имена, такие как 0.91d798902e4dca77e704.chunk.js, больше никаких проблем с кэшированием!

0 голосов
/ 29 июня 2018

Попробуйте использовать версионность кеша

В конце пути к файлу добавьте? V = {версия} Как это

<script src="build/main.js?v=1"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...