Возникает ошибка: Refused to execute script from 'test-func.js' because its MIME type ('text/html') is not executable

Возникает такая ошибка Refused to execute script from 'https://vlg-t-foss-dckr:7000/static/test-func.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled при попытке запуска js-файла index.html. Есть проект, который включает в себя бэкенд на Django и фронтенд на React. Вэб-страница запускается через АПИ в ДЖанго, то есть через view. Такое представление

class RenderReactClassApiView(generics.ListCreateAPIView):

    def RenderReact(request, ):
        req_path, *_ = request.path.split(';')
        return render(request, 'index.html')

    class Media:
        js = ('test-func.js', 'static/test-func.js', './static/test-func.js', )

В index.html подключение скрипта выглядит так:

<body>

{% block scripts %}

        <script type="text/javascript" charset="UTF-8" src="/home/test/app1/backend/templates/test-func.js"></script>

    <script src="{% static 'test-func.js' %}"></script>

{% endblock %}

При переходе к странице АПИ https://localhost:7000/react в консоли выдаёт ошибку:

Refused to execute script from 'https://localhostr:7000/home/test/app1/backend/templates/test-func.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

Возможно, я путь указываю не верно, хотя это абсолютный путь.

Не знаю насколько ответ будет полным и правильным, но мне помогли следующие решения: если запускать собранный проект на Реакте через Джанго, то нужно указать в index.html описание скрипта так:

{% load static %}
<script type="text/javascript" language="javascript" src="{% static 'frontend/main.js' %}"></script>

Если через Апач запускать, то есть Apache2 использовать как вэб-сервер для Джанго, то так:

{% load static %}
<script src="{% static 'frontend/main.js' %}"></script>

и в конфигах сайта Апача нужно указать путь к статике (static) примерно так:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/cert.crt
        SSLCertificateKeyFile /etc/apache2/ssl/cert.key

        **Alias /static /home/test/ПУТЬ/static
        <Directory /home/test/ПУТЬ/static>
            Require all granted
        </Directory>**


        ServerAdmin webmaster@localhost
        ...

Если найду более лучшее решение, потом добавлю.
Вернуться на верх