私が設定した単純なFlaskサーバーで、反応ベースのWebアプリケーションを実行しようとしています。私はすべてのフロントエンドパッケージをバンドルするためにwebpackを使用していました。しかし、私は、サーバーを実行すると、作成されたjavascriptファイル(bundle.js)が見つからないことがわかりました。Flaskでアプリケーションをホストするとbundle.jsが見つからない(404)
マイWebPACKの構成(webpack.config.js)がある:/ www /のディレクトリに出力されるbundle.js
var webpack = require('webpack');
const path = require('path');
module.exports = {
context: path.join(__dirname, '/src'),
entry: [
'./index.js',
],
output: {
path: path.join(__dirname, '/www'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: [
'babel-loader',
],
},
],
},
resolve: {
modules: [
path.join(__dirname, 'node_modules'),
],
},
};
。最後に
<html>
<head>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<p>HERE</p>
<div id = "image-upload"></div>
<div id = "sudoku_game"></div>
<script src="/bundle.js" ></script>
</body>
</html>
:/ www /のディレクトリにも
は私のindex.htmlファイルです。私が書いたフラスコサーバーは非常に簡単です:あなたが見ることができるように
from flask import Flask, render_template
app = Flask(__name__, static_folder="../www",
template_folder = "../www")
@app.route("/")
def index():
return render_template("index.html")
if __name__ == "__main__":
app.run()
、bundle.jsとのindex.htmlは、同じレベルで同じディレクトリにあります。
私は(python server.pyを使用して)サーバーを実行します。 localhostを:5000「HERE」を表示したが、その後スロー:私はエクスプレスjsのサーバー上で同じアプリケーションを実行すると
GET http://localhost:5000/bundle.js 404 (NOT FOUND)
興味深いことに、bundle.jsが発見されたとしても問題はありません。私がFlaskに切り替える理由は、サーバー側で実行したいPythonスクリプトがあるからです。
誰かが間違っていることを教えてもらえますか?私は何らかの理由でbundle.jsが決してコンパイルされないと思ったが、ディスクに保存してもbundle.jsが見つからない。参考のため
は、私のディレクトリ構造は次のとおりです。
-sud(parent)
-----node_modules
-----server
---------server.py
-----src (has all my react code)
-----www
---------static (has css file)
---------index.html
-----package.json
-----webpack.config.js
https://github.com/webpack/webpack-dev-server/issues/645、この記事では、 – Aaqib