【问题标题】:Reactjs create-react-app my-app backend integrationReactjs create-react-app my-app 后端集成
【发布时间】:2018-08-06 04:38:39
【问题描述】:

我使用 create-react-app 创建了一个基本应用程序。当我运行我的后端服务器(在 python 中使用烧瓶)时,我提供默认的 index.html 文件:

from flask import Flask, render_template
app = Flask(__name__, static_folder='../web/public')

@app.route("/")
def index():
    return render_template('../web/public', 'index.html')

if __name__ == '__main__':
    app.run()

这是create-react-app生成的index.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="theme-color" content="#000000">

    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">

  </head>
  <body>
    <noscript>
      You need to enable JavaScript to run this app.
    </noscript>
    <div id="root">
    </div>
  </body>
</html>

当将此文件提供给浏览器时,它显然什么也不渲染,React 应用程序仅在从 create-react-app 生成的文件夹运行 npm start 时才会渲染。如何仅使用我的 Flask 后端服务器为实际应用提供服务?

我尝试链接 index.js 脚本:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();

但是浏览器输出了Uncaught SyntaxError: Unexpected identifier 上线import React from 'react';

基本上,我的问题是如何仅使用 Flask 服务器为 React 应用程序提供服务?

【问题讨论】:

    标签: javascript python reactjs flask create-react-app


    【解决方案1】:

    要在生产环境中使用使用 create-react-app 创建的应用程序,请运行以下命令:

    npm run build
    

    这将创建一个 JavaScript 包,您可以将其部署到您的服务器。

    documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2018-12-04
      • 2018-01-09
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多