1つのポートで複数のエントリポイントをホストするためにwebpack-dev-serverを使用したいと思います。私の現在の構成は以下の通りです:
entry: {
//Application specific code.
main: [
`webpack-dev-server/client?http://${config.Host}:${config.PORT}`,
'webpack/hot/only-dev-server',
'./app/base.js',
'./app/main.js'
],
login: [
`webpack-dev-server/client?http://${config.Host}:${config.PORT}`,
'webpack/hot/only-dev-server',
'./app/base.js',
'./app/login.js'
],
},
output: {
path: assetsPath,
publicPath: `http://${config.Host}:${config.PORT}/public/dist/`,
chunkFilename: "[name].js",
filename: '[name].js',
},
しかし、今はうまくいかないようです。何か助けはありますか?
これは、複数のエントリーポイントWebpack構成が機能する例です。それが役立つかどうか私に知らせてください。 webpack.optimize.CommonsChunkPlugin('common.js'),
を使用して、共通のjsパーツを含むcommon.jsファイルを自動的に生成します。
var path = require('path');
var webpack = require('webpack');
var WebpackErrorNotificationPlugin = require('webpack-error-notification')
var buildEntryPoint = function(entryPoint){
return [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
entryPoint
]
}
module.exports = {
devtool: 'eval',
entry: {
search: buildEntryPoint('./src/index'),
generic: buildEntryPoint('./src/index-generic')
},
output: {
path: path.join(__dirname, 'dist'),
filename: '[name].js',
publicPath: '/static/'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('common.js'),
new webpack.HotModuleReplacementPlugin(),
new webpack.DefinePlugin({
__CLIENT__: true,
__SERVER__: false,
__DEV__: true,
__DEVTOOLS__: true // <-- Toggle redux-devtools
})
],
resolve: {
alias: {
'redbox-react': path.join(__dirname, '..', '..', 'src')
},
extensions: ['', '.js']
},
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'src')
}]
}
};
応答が少し遅れましたが、同様の問題があり、複数のHtmlWebPackPlugin
プラグインエントリで解決しました。
module.exports = {
entry: {
root: ['./src/index.js'],
labelling: ['./src/labelling.js'],
},
output: {
filename: '[name].js'
},
...
plugins: [
new HtmlWebPackPlugin({
template: "./src/index.html",
filename: "./index.html",
chunks: ["root"]
}),
new HtmlWebPackPlugin({
template: "./src/labelling.html",
filename: "./labelling.html",
chunks: ["labelling"]
})
],
...
参照: https://github.com/jantimon/html-webpack-plugin/issues/218