В моем приложении SPA с Nuxt.js (без SSR) я вижу ошибку в консоли Chrome, которая говорит, что manifest.1234.json
не удалось загрузить с 404. Chrome верный, этот файл манифеста не существует на сервере.
Однако, когда я проверяю элемент с помощью Dev Tools и ищу «манифест», я вижу в HTML строку загрузки manifest.abcd.json
- которая существует на сервере.
Почему исходный HTML-код передается браузеру, содержащему ссылку на старую неверную версию манифеста?
Я подумал, что, возможно, это был просто PM2, который кэширует какой-то старый код, но я попытался kill
reload
и reset
, без справки.
Я подумал, может быть, это было из-за того, что я случайно зафиксировал сборку файлов моих приложений dist, поэтому на сервере я полностью удалил папку сборки и запустил новую npm run build
, а затем pm2 start
, но это не помогло.
Я запускаю PM2 с помощью этого ecosystem.config.js
файла, который прекрасно работает и не упоминает никакой кэш:
module.exports = {
apps: [
{
name: 'gateway',
port: 3000,
script: './nuxt-start.js',
cwd: '/home/forge/some-example.com',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}
]
};
Развертывание измененийЧто касается моего приложения, я просто делаю npm run build
, а затем pm2 pull repo commit123a
, что работает для внесения моих последних изменений.Просто у меня есть эта странная ошибка загрузки манифеста, которая иногда заставляет мое приложение сообщать пользователю об ошибке во внешнем интерфейсе (перехват ошибок).
Я запустил grep
на своем сервере, чтобы найти любоессылка на неправильный файл манифеста, но не соответствует - я думаю, что, возможно, он находится в ОЗУ, но, конечно, если бы это был кеш, то гораздо больше проблем с кэшированием проявилось бы, а не только это.
Инициатор запроса 404 workbox-core.prod.js
Я даже пытался вручную создать файл manifest.1234.json
в месте, которое запрашивает запрос, но даже не решает 404
Есть идеи?