PC/node_modules/generate-asset-webpack-plugin
2026-01-26 23:20:48 +08:00
..
dist chushihua 2026-01-26 23:20:48 +08:00
.npmignore chushihua 2026-01-26 23:20:48 +08:00
index.js chushihua 2026-01-26 23:20:48 +08:00
package.json chushihua 2026-01-26 23:20:48 +08:00
README.md chushihua 2026-01-26 23:20:48 +08:00

generate-asset-webpack-plugin

Sometimes you dynamically want to create files while having access to all the Webpack compilation info.

Install

npm install --save-dev generate-asset-webpack-plugin

Usage

var GenerateAssetPlugin = require('generate-asset-webpack-plugin');

var webpackConfig = {
    plugins: [
        new GenerateAssetPlugin({
            filename: 'index.html',
            fn: (compilation, cb) => {
                cb(null, createHtml(compilation));
            },
            extraFiles: ['favicon.ico']
        })
    ]
    // other webpack config ...
}

Example function using the compilation:

function createHtml(compilation) {
    var chunk = compilation.chunks[0];
    var jsFile = chunk.files[0];
    var cssFile = chunk.files[1];
    return `<!DOCTYPE html>
        <html>
            <head>
                <meta charset="utf-8">
                <title>Awesome!</title>
                <link rel="stylesheet" href="${cssFile}">
            </head>
            <body>
                <div id="app"></div>
                <script src="${jsFile}"></script>
            </body>
        </html>
    `;
};