javascript - 内联 CSS 与 Webpack,没有 HtmlWebpackInlineSourcePlugin?
问题描述
我们一直在使用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
],
}
解决方案
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
您的所有代码在其他方面都应该相同。希望这可以帮助某人。
推荐阅读
- r - 将每一行与对应的列合并,形成一个垂直表格
- angular - 如何使用ActivatedRoute获取url参数?
- php - 将字符串闭包评估为“真正的”闭包
- python - 当我尝试运行 container.inside() 方法时,Jenkins 挂起
- haskell - 如何从列表中删除一个元素及其所有重复项?
- excel - sql表名中的空格
- java - 在 Activity 中点击 Fragment
- c# - 如何在 ASP.NET Core 中动态过滤 Razor 页面的视图模型?
- powershell - Powershell 在 pgp 解密时失败
- multithreading - 为什么 CNiButton 不能从除主线程之外的线程更改?