用于 html minify 的 npm 库存在问题。我下载并声明了一个库
import htmlmin from 'html-minifier';
但是当我尝试运行 gulp 任务时
export const html = () => {
return gulp.src("source/*.html")
.pipe(htmlmin({ collapseWhitespace: true }))
.pipe(gulp.dest("build"));
}
但出现错误
TypeError: htmlmin is not a function
我很确定没有语法错误,但我不知道问题出在哪里。
我尝试了不同的库和更旧的node.js,但我仍然遇到同样的问题
请查看库文档。
有一个关于如何通过 gulp 使用该库的精确示例:
const { src, dest, series } = require('gulp');
const htmlMinify = require('html-minifier');
const options = {
includeAutoGeneratedTags: true,
removeAttributeQuotes: true,
removeComments: true,
removeRedundantAttributes: true,
removeScriptTypeAttributes: true,
removeStyleLinkTypeAttributes: true,
sortClassName: true,
useShortDoctype: true,
collapseWhitespace: true
};
function html() {
return src('app/**/*.html')
.on('data', function(file) {
const buferFile = Buffer.from(htmlMinify.minify(file.contents.toString(), options))
return file.contents = buferFile
})
.pipe(dest('build'))
}
exports.html = series(html)
在我看到这个库的用法后,为 gulp gulp-htmlmin 安装了特殊库后,它就起作用了
const gulp = require('gulp');
const htmlmin = require('gulp-htmlmin');
gulp.task('minify', () => {
return gulp.src('src/*.html')
.pipe(htmlmin({ collapseWhitespace: true }))
.pipe(gulp.dest('dist'));
});