Django не распознает файл worker.js, созданный react.js
У меня есть приложение, в котором я создаю фронтенд с помощью react.js, а затем отправляю файлы шаблона в приложение django и затем запускаю только приложение django. У меня проблемы с тем, что django распознает файл в этой папке "build", который приходит из react.
Вот мой файл index.html:
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" crossorigin="use-credentials" href="./manifest.json" />
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('./worker.js').then(function(registration) {
console.log('Worker registration successful', registration.scope);
}, function(err) {
console.log('Worker registration failed', err);
}).catch(function(err) {
console.log(err);
});
});
} else {
console.log('Service Worker is not supported by browser.');
}
</script>
<title>SettledHead</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
Когда я запускаю приложение react напрямую, оно работает, и вот скриншот конечного результата:
А это скриншот со страницы, которая создаст проблему в части django (но здесь работает нормально):
Затем я запускаю "npm run relocate" и отправляю папку сборки в приложение django. Когда я ничего не делаю с serviceworker, мое приложение хорошо работает с такой структурой.
Но когда я пытаюсь внедрить в него pwa - serviceworker, он не видит файл worker.js и выдает такую ошибку:
Я думаю, что знаю, почему появляется эта ошибка, нет такой страницы как "http://localhost:8002/worker.js" и когда страница не найдена, она переходит на страницу 404 по умолчанию, которая является html файлом и естественно создает эту ошибку. Но я понятия не имею, как решить эту проблему.
До сих пор я пытался создать функцию представления и поместить этот файл как представление, но затем он снова рассматривается как html/текстовый файл. Я искал в google и видел похожие проблемы, но ни одна из них не помогла. Я пробовал разные ссылки, чтобы посмотреть, могу ли я отобразить любой другой статический файл на фронтенде, но нет, я не могу ничего показать, если это не api ссылка или не имеет функции просмотра.
** Файл worker.js находится в общей папке, так что проблема не связана с этим, плюс, как я уже сказал, он работает, когда я запускаю только приложение react.js.