Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Entities = require('html-entities').AllHtmlEntities;
- const htmlEntities = new Entities();
- class InlineCssHtmlWebpackPlugin {
- apply(compiler) {
- compiler.plugin('compilation', compilation => {
- compilation.plugin('html-webpack-plugin-before-html-processing', (htmlPluginData, callback) => {
- for (let filename of htmlPluginData.assets.css) {
- const cssSrc = compilation.assets[filename];
- htmlPluginData.html = htmlPluginData.html
- .replace('</head>', `<style>${htmlEntities.encode(cssSrc.source())}</style></head>`);
- delete compilation.assets[filename];
- }
- htmlPluginData.assets.css = [];
- callback(null, htmlPluginData);
- });
- });
- }
- }
- module.exports = InlineCssHtmlWebpackPlugin;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement