Internet 上有大量关于如何正确使用 Django 和 Vue(在各种选项中)的教程和有用的帖子。 但是我没有找到任何人描述如何创建包含多个应用程序的 Django 应用程序,每个应用程序都有自己的 Vue 前端部分。
我正在创建一个带有 Vue 前端的 Django 应用程序,它将有很多应用程序可以很容易地插入主系统(使用自定义框架)。但这只是后端。我想让每个 Django 应用程序在前端也有一个“插件”部分:例如当此应用程序添加到 INSTALLED_APPS 中时,一组在前端“动态”呈现的 Vue 组件。
如何在 Vue 中提供“插件 Hook ”来加载这些组件?我所看到的所有东西(使用 webpack-loader 等通过 webpack 加载动态/惰性组件)都不是我想要的。它仅描述了如何在 http 请求时间线中加载稍后预定义的组件。
我应该如何“合并”所有组件?我可以简单地在静态文件夹中创建组件,然后让
./manage.py collectstatic
发挥作用吗?
无论应用程序是 SPA 还是我必须使用 Django 模板(包含 Vue 组件)都没有关系 - 两者都是可行的方法。
也许这甚至是一个 webpack 问题,应该是:如何让 Vue(或 React 等)从不同的子目录(如 foo_app/static/、blah_app/static/、bar_app/static)收集其源代码 - 是否有告诉 Vue/Webpack/etc 在 myproject/*/static 中搜索要合并的 Vue 组件的方法? 我可以包括“所有组件”(动态量)而不是另一个组件,这是这样一个系统所需要的吗?
任何人都可以在这里启发我 - 这是完全不可能的吗?还是我想错了方向?
谢谢。
最佳答案
我的 django 站点中有几个 VueJS 应用程序,我打算添加更多。 我在 django-webpack-loader 的帮助下将它们与 webpack 捆绑在一起。 https://github.com/owais/django-webpack-loader
关于具有多个应用程序的 Django + Vue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104733/