hash-assets-webpack-plugin
Get chunks hash from webpack stats and extracted assets from dynamic templates, emits a json file with all assets hash.
Why is this useful?
This plug-in outputs a json file with the hash map of the generated webpack assets(chunks).
And it could extracted assets from giving dynamic templates to the output dir, like Php templates, JSP.
Example output:
The output is a JSON object in the form:
Install
npm install hash-assets-webpack-plugin --save-dev
Configuration
In your webpack config include the plug-in. And add it to your config:
var path = ;var HashAssetsPlugin = ; moduleexports = // ... output: path: path filename: "js/[name].[chunkhash].js" publicPath: "/static/" // .... plugins: path: './static' chunkNameTemplate: 'js/[name].js' hashLength: 7 srcPath: './src' srcMatch: 'home.tpl': /['"]['"]/gi assetMatch: css: /\(['"]?['"]?\)/gi assetNameTemplate: '[name].[hash]' prettyPrint: true ;
Options
You can pass the following options:
filename: Name for the created json file. Defaults to assets-hash.json
filename: 'assets.json'
path: Path where to output extracted assets. Defaults to the webpack output.path
.
path: './static'
prettyPrint: Whether to format the json output for readability. Defaults to false.
prettyPrint: true
keyTemplate: [String|Function] asset key name in hash json file.
// default value keyTemplate: 'js/[name].js' // or a function, give filename of generated chunk as param, like 'js/main.9959c21.js', // the form is specified by chunkFilename config of webpack { var match = /\/\.\w{7}\.\1/; return match1 + '/' + match2 + '.' + match1; }
hashLength: Length of hash.
hashLength: 7
srcPath
srcMatch
assetMatch
assetNameTemplate
Using this with Php
Changelog
0.2.0 Support multiple file hash extract in one chunk
0.1.0 First version