私は、のwebpackでデフォルトのコマンドで実行していたVuejsのかなり単純なWebアプリケーションを作成しました。私がdjango-rest-frameworkを使って構築したDjangoからのAPIを利用していました。また、Vueアプリに変更があった場合は、自動的にホットリロードされます。これはかなり素晴らしいものです。djangoを使ったVuejsアプリケーションの開発とデプロイ
今、webpackの代わりにdjangoを使用してVueアプリを実行したいと思います。つまり、DjangoはHTMLテンプレートファイルで応答し、Vuejsアプリケーションはその単一のページアプリケーションのhtmlファイルで実行されます。
私が今やっていることは最初にこのコマンドを実行している:
npm run build
その後、私はジャンゴ静的フォルダにDIST/静的/フォルダのファイルをコピーします。私はVueのアプリを変更する必要がある場合、私は、もう一度それを構築するファイルをコピーし、内部でそれをロードする必要があり、後に今
index.htmlを
{% load static %}
<!DOCTYPE html>
<html>
<head>
...
...
<link href="{% static "css/app.e446b60204fec1f9f5510c711523ffca.css" %}" rel=stylesheet>
</head>
<body>
<div id="app"></div>
<script src="{% static "js/manifest.88376ea5d07804f39ff7.js" %}"></script>
<script src="{% static "js/vendor.e0e5105739e9947a23e7.js" %}"></script>
<script src="{% static "js/app.571e9140518a5bae898c.js" %}"></script>
</body>
</html>
:そして最後に、テンプレートにロードテンプレート、かなり長いようです。
だから、私はDjangoとVuejsの両方を混在させる方が良い、短期的な方法が望まれます。
私は、 'npm run build'を変更して、ファイルを静的静的フォルダに入れることを考えています。これらをdist/staticフォルダに入れてから転送するのは本当に効果がないからです。生成されたファイル名が常に同じではないのはなぜか分かりません。つまり、テンプレートをまったく変更する必要はありません。私は自分自身を見るためにはむしろ新しいですが、これが役立つことを願っています! –
@ChristopherShrobaに加えて、['django-webpack-builder'](https://github.com/owais/django-webpack-loader)が役立つかもしれません。 –
@ChristopherShrobaはい、それはそれを行う方法の1つだと思います。しかし、あなたはbulidファイルの名前をどのように扱っていますか? – Robin