Enhances html-webpack-plugin
functionality by adding the {alwaysWriteToDisk: true|false}
option.
This is an extension plugin for the webpack plugin html-webpack-plugin - a plugin that simplifies the creation of HTML files to serve your webpack bundles.
You must be running webpack on node 10.x or higher
Install the plugin with npm:
$ npm install --save-dev html-webpack-harddisk-plugin
Require the plugin in your webpack config:
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
Add the plugin to your webpack config as follows:
plugins: [
new HtmlWebpackPlugin(),
new HtmlWebpackHarddiskPlugin()
]
The above configuration will actually do nothing due to the configuration defaults.
As soon as you now set alwaysWriteToDisk
to true
the generated output of the HtmlWebpackPlugin will
always be written to disk. This is very useful if you want to pick up the output with another middleware.
plugins: [
new HtmlWebpackPlugin({
alwaysWriteToDisk: true
}),
new HtmlWebpackHarddiskPlugin()
]
Even if you generate multiple files make sure that you add the HtmlWebpackHarddiskPlugin only once:
plugins: [
new HtmlWebpackPlugin({
alwaysWriteToDisk: true
}),
new HtmlWebpackPlugin({
alwaysWriteToDisk: true,
filename: 'demo.html'
}),
new HtmlWebpackPlugin({
alwaysWriteToDisk: false,
filename: 'test.html'
}),
new HtmlWebpackHarddiskPlugin()
]
If you need to set the output path explicitly (for example when using with webpack-dev-server middleware) then pass in the outputPath
option:
new HtmlWebpackHarddiskPlugin({
outputPath: path.resolve(__dirname, 'views')
})