私は、Mavenモジュール全体をインストールすると、Maven + frontend-maven-pluginとwebpackがうまくいっていないという問題があります。htmlwebpackPlugin + Maven - バンドルされたチャンクハッシュファイルを手動で挿入するにはどうすればよいですか?
new HtmlWebpackPlugin({
template : '../resources/public/index.html',
filename : 'index.html',
inject : 'body',
})
をしかし、私は手動でfrontend-maven-plugin
を実行する場合:単純にhtmlwebpackPluginが同梱JS/CSSテンプレートは、このようなとして提供されていても、何らかの理由で、私はMavenのモジュールを初めてインストールするファイルを注入しないだろうWebPACKのを置きますMavenモジュール全体をインストールした後、実際に正しいファイルが挿入されますが、これはむしろ奇妙な動作です。
自分のindex.html
テンプレート内に、これらのバンドルされたファイル(私は3つ、1つのCSS、2つのファイルしかありません)をチャンクハッシュで手動で挿入する方法があるかどうかを知りたかったのですか?それはビルドをより一貫性のあるものにするでしょう。
スニップ私のwebpack.config.js
- あなたがわかるように、私たちが開発者でない場合は、ファイル名にチャンクハッシュを追加します。
"use strict";
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const HtmlWebpackPlugin = require('html-webpack-plugin');
let path = require('path');
let webpack = require("webpack");
const PATHS = {
build: path.join(__dirname, '../../../target', 'classes', 'public'),
};
const env = process.env.NODE_ENV;
let isDev = false;
if(env == "dev"){
isDev = true;
}
console.log(`Dev environment: ${isDev}`);
module.exports = {
entry: {
main: './js/index.jsx',
vendor: [
"react","react-dom","axios",
"react-table", "mobx", "mobx-react", "mobx-utils", "lodash"],
},
output: {
path: PATHS.build,
filename: `bundle.${isDev ? '' : '[chunkhash]'}.js`
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({name: "vendor", filename: `/static/js/vendor.bundle.${isDev ? '' : '[chunkhash]'}.js`}),
new ExtractTextPlugin(`/static/css/[name].${isDev ? '' : '[chunkhash]'}.css`),
new HtmlWebpackPlugin({
template : '../resources/public/index.html',
filename : 'index.html',
inject : 'body',
})
],
module: {
loaders: [
// Bunch of loaders
]
},
};