我有一个现有的Flask应用程序,其中包含静态部分(网页)和动态部分(登录后).我需要做的是将动态部分重写为将使用现有API的React应用程序. 到目前为止,我一直在构建完全解耦的React应用程
到目前为止,我一直在构建完全解耦的React应用程序,我不知道如何从Flask部分转换到React部分.理想情况下,我不想只在模板和编写组件中包含React / React-DOM脚本,我想为Flask应用程序的当前动态部分编写单页面应用程序(使用create-react-app).
转型实际发生的任何想法?也许什么时候@ app.route(/ dynamic-part)被触发,然后写一些东西而不是渲染模板?
编辑:因为有些用户认为我的问题不是很清楚,所以我会尝试更准确,以防其他人偶然发现:
我问的问题是如何从Flask处理它的部分路线切换到React处理它的路线的一部分而不会相互影响.因此,如下面的答案所示,我将React应用程序的构建输出放在Flask中,并在Flask的路由中将React应用程序处理的所有路由指向React的构建输出的index.html.那很有效.希望现在更清楚了.如果没有,我会再次尝试更多细节.
看起来create-react-app有指令re: building for relative paths.所以你可以像往常一样开发React应用程序.然后,当你准备好了,你’npm run build”会创建一个构建文件夹,其中包含单页应用程序所需的所有资源(html,捆绑的javascript,css等).您可以将整个文件夹复制到包含其余模板的目录中.然后你的@ app.route(/ dynamic-part)可以指向./app/templates/build/index.html.