[英]Inject CSS file in HTML head by replacing <link> tag
我正在寻找一个(基于 npm 的?)解决方案,它可以简单地替换:
<link rel='stylesheet' href='style.css'>
和
<style><!-- actual contents of the style.css file here --></style>
作为制作轻量级静态网站的简单构建步骤。 我发现了大量(经常损坏)的包,它们将 CSS 内联到 DOM 中的每个元素中,这不是我想要的。
我的构建管道如下所示:
<style>
标签中注入缩小的 CSS 。我正在寻找第三步。
我尝试了以下 npm 包:
inlineCss
:代替内联样式到每个元素中。Styliner
:似乎坏了。目前,我通过制作一个非常基本的脚本来解决这个问题; 但它有效:
内联 css.js :
const fs = require('fs');
const html = fs.readFileSync('dist/index.html', 'utf8');
const css = fs.readFileSync('dist/style.css', 'utf8');
const inlinedHtml = html.replace(
'<link rel="stylesheet"href="style.css"type="text/css"charset="utf-8">',
"<style>" + css + "</style>");
fs.writeFileSync('dist/index.inlined.html', inlinedHtml);
然后使用$ node inline-css.js
运行它。
我有完全相同的要求。 这就是我所做的。 我正在使用 Gulp 来:
在这里查看完整的 gulp 文件。 我使用运行上述所有步骤的命令gulp build
执行此操作(链接文件的第 37 行)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.