0

我想通过 django 为我的 Vue 应用程序(作为 SPA)提供服务,我通过了这篇文章。作者使用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

4

1 回答 1

0

在尝试了没有 . 的方法后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真正工作的信息,所以认为这个答案不完整。

于 2020-02-27T13:39:16.727 回答