我设置了一个Django项目,并希望开发一个Vue前端来配合它。要设置Vue应用,我使用了vue init webpack myproject-frontend
。单独开发两者非常简单,分别使用python manage.py runserver
和npm run dev
。
将应用程序放在我的Django项目的一个页面中也很容易; if 我首先使用npm run build
构建Vue应用。显然,这有一个缓慢的缺点,加上我必须处理包含哈希的文件名(当然可以自动化)。
关于npm run dev
,我对只能在浏览器中看到Vue应用程序感到满意。我仍然可以与我的API(处理CORS)进行通信,但这不是网站最终的样子。我计划在同一页面上有多个Vue组件,并且在一个点上不同页面上有不同的组件,dev
没有反映出来。
如何保持不必不断重建的速度,同时保持不遗漏应用程序的Django部分的保真度?
我试着看一下dev
所服务的内容,但我对Webpack和使用过的工具来说太新了,无法从中推断出一种方法。 FWIW,这就是我所看到的:
查看http://localhost:8080/
,我看到了:
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="/app.js"></script>
/app.js
本身似乎是webpack的一些引导,库和应用程序代码的结果。但是那个文件在我的文件系统中没有,所以我无法从Django中提供它......
答案 0 :(得分:0)
是否有可能以某种方式通过Django服务器提供应用程序的dev
版本(例如,在默认情况下在端口8000而不是8080),我不知道。
然而,这并不意味着它无法集成到Django网站中。在localhost:8080/
:
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="/app.js"></script>
这部分HTML可以由Django提供,实现几乎与将dist
文件放在Django的静态目录中相同 - 不同的是端口,因此CORS:
<div id="app"></div>
<script type="text/javascript" src="http://localhost:8080/app.js"></script>