首页 > 解决方案 > 如何在 django 中运行已编译的 vue 项目

问题描述

以前,我知道如何一起运行VueDjango(jinja2 模板)
通过处理自定义分隔符,例如delimiters: ['[[', ']]'].

但是由于某种原因,我的主管只需要在我现有的 django 项目中运行编译好的 vue 项目。正如我们所看到的,vue 有npm run serveyarn run serve运行它。

django可以处理这种情况吗?如果是,我应该怎么做?

在这种情况下,我们不使用nginxapache等直接 Web 服务器来运行。

标签: pythondjangovue.js

解决方案


Charanjit Singh的答案是正确的,您的 404 问题与 vueJs 无关。由于您没有使用直接的 Web 服务器,因此变得更加困难。

此外,如果您的 vue 应用程序在历史模式下实现 vue-router,这将导致更多问题,因为您既没有使用 nginx 也没有使用 apache。
我唯一的方法是Haproxy,它会让你的子应用程序处理这些路由。

例如,您的应用程序域是myawesomedomain.com并且您的 vue 应用程序在其中,myawesomedomain.com/myvueapp那么您需要配置您的 Haproxy 以让您的 vueapp 处理myawesomedomain.com/myvueapp/*.

如果您的应用程序中没有 vue-router,那么您需要将vueapp文件夹放在部署的 web 文件夹中,并且不要忘记为您的 html 文件添加路由规则(我不知道 Django,但我知道它与 symfony 一起工作,它正在工作)

Deployed
|
|_vueapp    ===> your compiled folder
|
|_htmlFile  ===> your html file

推荐阅读