2017-11-02 3 views
0

私が設定した単純な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 
+0

https://github.com/webpack/webpack-dev-server/issues/645、この記事では、 – Aaqib

答えて

0

だから私はいくつかのより多くの読書をした、と私は作品の答えを見つけたが、それが必要だった理由を私はかなり理解していません。この行をコンソールに入力した後:

webpack -p --progress --config webpack.config.js 

すべてが正常に動作するようになりました。

関連する問題