所以,谷歌建议使用这个 npm 包来生成关键的 CSS:
var critical = require('critical');
gulp.task('critical', function (cb) {
critical.generate({
base: 'app/',
src: 'index.html',
dest: 'css/index.css'
});
});
它实际上是一个很棒的工具,就像一个魅力。唯一的缺点是它仅适用于 Gulp 中的单个文件,而不是可以gulp.src('app/*.html')
为所有匹配文件调用的其他任务。
所以我决定在一个数组中列出我所有的页面并遍历它们:
var pages = ['index', 'pricing'];
gulp.task('critical', function (cb) {
for (var i = 0; i < pages.length; i++) {
critical.generate({
base: 'app/',
src: pages[i] + '.html',
dest: 'css/' + pages[i] + '.css'
});
}
});
这也被证明是一个可行的解决方案(除了一些 node.js 内存问题)。
现在的问题是我必须在数组中手动列出页面。所以我想知道是否有一种方法可以自动生成这样的列表,其功能类似于gulp.src('app/*.html')
例如包含所选文件夹中的所有 .html 页面以生成关键的 CSS?
任何帮助将不胜感激!