2017-07-21 3 views
0

私はPythonバックエンドAPIと同じ起源で提供したいリアクションフロントエンドを持っています。私はこのためにFlaskを使用しようとしていますが、私はFlaskが静的なファイルを見つけられないという問題にぶち当たっています。フラスコはmain.pyから実行しているとsaas_frontend/buildに私のフロントエンドを提供しているFlaskからNPMビルドを実行しています

├── main.py 
    ├── requirements.txt 
    ├── run.sh 
    ├── saas_backend 
    ├── saas_frontend 

私のフロントエンドビルドはここでsaas_frontend

npm run buildで生成されては、次のように私のファイル構造が見えるものです

├── asset-manifest.json 
├── favicon.ico 
├── index.html 
├── manifest.json 
├── service-worker.js 
└── static 
    ├── css 
    │   ├── main.096c9e23.css 
    │   └── main.096c9e23.css.map 
    ├── js 
    │   ├── main.8949f17a.js 
    │   └── main.8949f17a.js.map 
    └── media 
     ├── delta.56f5d855.csv 
     └── logo.e233ff84.png 

新しいテンプレートパスと静的パスをに宣言しましたとしては、以下:

7 import os 
    8 from flask import Flask, render_template 
    9 
10 template_dir = os.path.abspath('saas_frontend/build/') 
11 static_dir = os.path.abspath('saas_frontend/build/static') 
12 app = Flask(__name__, static_path=static_dir, template_folder=template_dir) 
13 
14 
15 @app.route('/') 
16 def index(): 
17  print template_dir 
18  print static_dir                                              
19  return render_template('index.html') 

しかし、フラスコはまだ私の静的なファイルを提供することができないと私は出力としてこれを取得し....

127.0.0.1 - - [21/Jul/2017 12:13:14] "GET/HTTP/1.1" 200 - 
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/css/main.096c9e23.css HTTP/1.1" 404 - 
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/js/main.8949f17a.js HTTP/1.1" 404 - 
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/css/main.096c9e23.css HTTP/1.1" 404 - 
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/js/main.8949f17a.js HTTP/1.1" 404 - 

私が異なっやるべきことは何がありますか?どのようにしてFlaskはエラーメッセージのパスで正しいファイルを解決できますか?それをブラウザに完全に渡すことはできません。

ありがとうございます!

+0

@ A.Haaji残念ながら、同じエラーです。 – Cole

答えて

1

問題を、適切なファイルとディレクトリへのシンボリックリンクを使用して修正しました。私のビルドスクリプトで

私が含まれます:今、期待通り

ln -s saas_frontend/build/static static 
ln -s saas_frontend/build templates 

すべての作品!

関連する問題