Forces webpack-dev-server
program to write bundle files to the file system.
This plugin has no effect when webpack
program
is used instead of webpack-dev-server
.
This plugin is not needed with Webpack 5. You should instead use the writeToDisk
option available in webpack-dev-server
and in webpack-dev-middleware
.
npm install write-file-webpack-plugin --save-dev
/**
* @typedef {Object} options
* @property {boolean} atomicReplace Atomically replace files content (i.e., to prevent programs like test watchers from seeing partial files) (default: true).
* @property {boolean} exitOnErrors Stop writing files on webpack errors (default: true).
* @property {boolean} force Forces the execution of the plugin regardless of being using `webpack-dev-server` or not (default: false).
* @property {boolean} log Logs names of the files that are being written (or skipped because they have not changed) (default: true).
* @property {RegExp} test A regular expression used to test if file should be written. When not present, all bundle will be written.
* @property {boolean} useHashIndex Use hash index to write only files that have changed since the last iteration (default: true).
*/
/**
* @param {options} options
* @returns {Object}
*/
new WriteFilePlugin();
new WriteFilePlugin({
// Write only files that have ".css" extension.
test: /\.css$/,
useHashIndex: true
});
Configure webpack.config.js
to use the write-file-webpack-plugin
plugin.
import path from 'path';
import WriteFilePlugin from 'write-file-webpack-plugin';
export default {
output: {
path: path.join(__dirname, './dist')
},
plugins: [
new WriteFilePlugin()
],
// ...
}
See ./sandbox for a working webpack
configuration.