Почему нам нужен `django -webpack-looader` для обслуживания Vue приложения SPA через django? - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу подать свое Vue приложение (как SPA) через django, и я прошел через эту статью . Автор использует django-webpack-loader для достижения этой цели, но не добавляет простую TemplateView вокруг dist/index.html, которая сделает эту работу:

url(r'^app/', TemplateView.as_view(template_name='index.html'), name='app'),  

, также это требует изменения settings.by следующим образом:

'DIRS': [
    BASE_DIR + "/templates/",
    BASE_DIR + "/dist/",
] 

Мой вопрос: какова роль django-webpack-loader в процессе, если приложение уже собрано с использованием vue-cli?

1 Ответ

0 голосов
/ 27 февраля 2020

Попробовав мой подход без django-webpack-loader, я пришел к выводу, что после каждой сборки вы должны сделать следующее:

  1. Поместите точку входа (index.html) в место, которое django может найти его.
  2. Поместите свои активы (css, js, изображения ) в папку static.
  3. Отредактируйте index.html чтобы он мог правильно находить и загружать сценарии и css файлы, например:
<script src=/js/chunk-vendors.618e754e.js></script>
<script src=/js/app.bbfdaab6.js></script>

Должно быть:

<script src="{% static 'js/app.bbfdaab6.js' %}"></script>
<script src="{% static 'js/chunk-vendors.618e754e.js' %}"></script>

Так что django-webpack-loader должен помочь вам с автоматизацией этой задачи. не проходя через django staticfiles систему.

Также я прочитал, что django-webpack-loader может обеспечить горячую перезагрузку кода во время разработки, но я не пробовал это. Также я не смог найти информацию о том, как действительно работает django-webpack-loader, поэтому считаю этот ответ неполным.

...