Зачем нам нужен django-webpack-looader для обслуживания приложения Vue SPA через django?

Я хочу обслуживать свое приложение 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 ответ

Попробовав мой подход без 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должен помочь вам в автоматизации этой задачи. без прохождения через djangostaticfiles система.

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

Другие вопросы по тегам