私は、index.html
というテンプレートを提供しているFlaskアプリケーションを持っています。このテンプレートはwebpackによって生成されたjavascriptファイルにアクセスします。問題は、Webpackが生成したファイルのハッシュを生成してブラウザがキャッシュされないようにすることです。ハッシュ名が変更される可能性があるため、webpack生成ファイルにアクセスする方法を理解できません。たとえば、webpackがbundle-cdcf74127a4e321fbcf0.js
というファイルを生成した場合、事前にハッシュ関数cdcf74127a4e321fbcf0
を知らないので、index.html
にアクセスできませんでした。index.htmlからwebpack生成jsファイルにアクセスする方法
ここに私のWebPACKの設定ファイルされる:アスタリスク検索はファイルでは動作しません表示されるよう
const CleanWebpackPlugin = require('clean-webpack-plugin');
module.exports = {
entry: "./js/main.js",
output: {
filename: "static/bundle-[hash].js",
},
resolveLoader: {
moduleExtensions: ['-loader']
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['react', 'es2015', 'stage-0']
}
},
{
test: /\.css$/,
loader: 'style-loader',
},
{
test: /\.css$/,
loader: 'css-loader',
query: {
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
}
]
},
plugins: [new CleanWebpackPlugin(['static/bundle*.js'])]
};
index.html
でWebPACKの生成されたファイルを呼び出すために使用されるコードは、(このコードは動作しません以下の通りです)ここに名前:
<body>
<div id="app"></div>
<script src="bundle*.js"></script>
</body>
フラスコアプリのコードは次のように書きます:
app = Flask(__name__, static_url_path='')
@app.route('/')
def default():
return render_template('index.html')
このコードを修正してwebpackで生成されたファイルを提供するにはどうすればよいですか?
コードを入力してください。ありがとう。 – Alex
@Alex私のプロジェクトで使用されているコードを更新します。 – JiangangXiong
ありがとうございます。このパッケージによって行われたHTML注入は、webpackに継続的にリフレッシュして新しいファイルを生成させているようです。これを止める方法を知っていますか? – Alex