There are multiple patterns available for configuring the entry point for a webpack
bundle, and these are fairly well documented. However, adding an additional resource to an entry, as required by webpack-plugin-serve
, may not be straight-forward for users unfamiliar with configuration customization. We'll outline several different methods below.
Consider the following webpack
configurations, before and after adding the webpack-plugin-serve
client entry:
// before
module.exports = {
entry: 'dist/bundle.js'
};
// after
module.exports = {
entry: ['dist/bundle.js', 'webpack-plugin-serve/client']
};
// before
module.exports = {
entry: [
'dist/bundle.js',
'dist/worker.js'
]
};
// after
module.exports = {
entry: [
'dist/bundle.js',
'dist/worker.js',
'webpack-plugin-serve/client'
]
};
// before
module.exports = {
entry: {
main: 'dist/bundle.js'
}
};
// after
module.exports = {
entry: {
main: ['dist/bundle.js', 'webpack-plugin-serve/client']
}
};
If there are multiple entry points defined for your bundle, and you'd like each entry point to support features like Hot Module Reloading, the webpack-plugin-serve
client script must be added to each:
// before
module.exports = {
entry: {
main: 'dist/bundle.js',
worker: 'dist/worker.js'
}
};
// after
module.exports = {
entry: {
main: ['dist/bundle.js', 'webpack-plugin-serve/client'],
worker: ['dist/worker.js', 'webpack-plugin-serve/client']
}
};
The examples above outline how the webpack-plugin-serve/client
script can be added to several common entry
patterns. The important bit is that the value, whether it be a single entry point or an Object
with properties, be transformed into an array which includes an item with the webpack-plugin-serve
client script. Cheers, and good eating.