@captemulation/html-webpack-harddisk-plugin

Write html files to hard disk even when using the webpack dev server or middleware

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
2145May 27, 2021Apr 18, 2016Minified + gzip package size for @captemulation/html-webpack-harddisk-plugin in KB

Readme

Harddisk extension for the HTML Webpack Plugin

npm version Dependency Status Build status js-semistandard-style

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.

Installation

You must be running webpack on node 0.12.x or higher

Install the plugin with npm:

$ npm install --save-dev html-webpack-harddisk-plugin

Basic Usage

Require the plugin in your webpack config:

var 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 find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.