使用 Webpack 内联 CSS,无需 HtmlWebpackInlineSourcePlugin?
2020-04-28
4616
我们之前一直在使用
HtmlWebpackInlineSourcePlugin
,没有任何问题,但是它不再受支持,所以我们改用
InlineChunkHtmlPlugin
,它对 JS 很有效,但拒绝捕获输出
style.css
文件并内联它,导致我们没有样式。
有没有办法在不构建粗略的自定义解决方案的情况下内联 CSS?
有很多问题与我的问题类似,但我发现的所有答案都依赖于现在无人维护的
HtmlWebpackInlineSourcePlugin
插件。
const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin');
const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin');
module.exports = {
// ... our other configuration options, loaders, etc
plugins: [
new CleanWebpackPlugin(pathsToClean),
new MiniCssExtractPlugin({
filename: 'style.css',
}),
new HtmlWebpackPlugin({
template: './template.html',
// inject: 'body',
inject: true,
filename: './output.html',
inlineSource: '.(js|css)$',
chunks: ['chunk'],
}),
// new HtmlWebpackInlineSourcePlugin(); // Used to work for loading JS & CSS
new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/.*/]); // Only loads JS, no CSS -- https://openbase.io/js/react-dev-utils
],
}
1个回答
yarn add
html-inline-css-webpack-plugin
--dev
const HTMLInlineCSSWebpackPlugin = require('html-inline-css-webpack-plugin').default; // Require the plugin
// ...
// ...
new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/.*/]); // Your existing InlineChunkHtmlPlugin
new HTMLInlineCSSWebpackPlugin(); // Add this new line after InlineChunkHtmlPlugin
您的所有代码都应该相同。希望这对某些人有帮助。
Slbox
2020-05-03