Javascript 使用Flask“为create react应用程序提供服务”;未捕获的语法错误:意外标记<&引用;

Javascript 使用Flask“为create react应用程序提供服务”;未捕获的语法错误:意外标记<&引用;,javascript,reactjs,flask,react-create-app,Javascript,Reactjs,Flask,React Create App,我正在使用react create应用程序构建一个web应用程序,并希望使用flask为其提供服务。 前端是使用 npx create-react-app frontend cd frontend npm run build 我的项目结构如下所示: - backend - static - templates - app.py - frontend - build - static - css

我正在使用react create应用程序构建一个web应用程序,并希望使用flask为其提供服务。 前端是使用

npx create-react-app frontend
cd frontend
npm run build
我的项目结构如下所示:

- backend
    - static
    - templates
    - app.py
- frontend
    - build
        - static
            - css
                ...
            - js
                ...
            - media
                ...
        - favico.ico
        - index.html
        - service-worker.js
        - ...
    - public
        ...
    - src
        ...
    - ...
app.py

from flask import Flask, send_from_directory
import os


app = Flask(__name__, static_folder=r'..\frontend\build')


@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def serve(path):
    if path != "" and os.path.exists("/static/" + path):
        return send_from_directory(app.static_folder, path)
    else:
        return send_from_directory(app.static_folder, 'index.html')


if __name__ == '__main__':
    app.run(use_reloader=True, port=5000, threaded=True, debug=True)
从flask导入flask,从\u目录发送\u
导入操作系统
app=Flask(\uuuuuu name\uuuuuuuuuu,静态文件夹=r'..\frontend\build')
@app.route('/',默认值={'path':''})
@应用程序路径(“/”)
def serve(路径):
如果路径!=“”和os.path.exists(“/static/”+path):
从目录返回发送目录(app.static文件夹,路径)
其他:
从目录返回发送目录(app.static文件夹'index.html')
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
运行(使用_reloader=True,port=5000,threaded=True,debug=True)
如果我正在运行serve-s构建应用程序,那么一切都正常。但是,运行python app.py会显示一个空白页面,chromes console会显示以下错误:

Uncaught SyntaxError: Unexpected token < 2.b41502e9.chunk.js:1
Uncaught SyntaxError: Unexpected token < main.4001340c.chunk.js:1 
Manifest: Line: 1, column: 1, Unexpected token. :5000/manifest.json:1
Uncaught语法错误:意外标记<2.b41502e9.chunk.js:1
未捕获的语法错误:意外标记

看起来浏览器无法解释jsx语法。如何解决此问题

您安装了烧瓶吗

npm install flask

我自己刚刚解决了这个问题,实际上您正在为所有请求提供
index.html
。所以
*chunk.js
是html,而不是Javascript,所以会出现语法错误

这是因为:

如果路径!=“”和os.path.exists(“/static/”+path):
这总是错误的<代码>/static/
在此上下文中不是有意义的路径

将其更改为:

如果路径!=“”和os.path.exists(f“{app.static_folder}/{path}”):

它会工作得很好。

你能发布JSX代码吗?它在chunk.js的第一行-看一下,里面可能只有一个恶意的括号there@KOTIOS为了隔离问题,我使用react create app untouched。