html-minifier:处理没有类型的内联脚本



我在gulp中使用html-minifier来缩小我的html文件。但是,没有type="text/javascript">的内联脚本标签永远不要被处理。

我一直在文档中搜索,但即使是选项processScripts,使用minifyJS

我的脚本标签没有类型,因为它在HTML5中是不必要的(或者我错了吗?)我错过了什么?script.js:

const gulp = require('gulp');
const htmlmin = require('gulp-htmlmin');
gulp.src('lib/*.html')
.pipe(htmlmin({
collapseWhitespace: true,
removeComments: true,
minifyCSS: true,
minifyJS: true,
removeScriptTypeAttributes: true,
processScripts: [undefined, null, ""],
}))
// .pipe(htmlmin({
// collapseWhitespace: true,
// minifyJS: true,
// }))
.pipe(gulp.dest('dist'));

编辑直接在字符串中运行html-minifier会正确地缩小它。因此,某种错误似乎阻止了传递给gulp的选项到达内部使用的html-minifier。

我在一个具有内联脚本和html的示例html页面上运行了下面的gulp项目,参数设置为minifyJS:true,它都工作了。你肯定看到了正确的参数。可能是您传递配置参数的方式没有被识别吗?希望这个示例gulpfile代码能对您有所帮助。

const gulp = require('gulp');
const htmlmin = require('gulp-htmlmin');

function defaultTask() {
return gulp.src('src/*.html')
.pipe(htmlmin({ 
collapseWhitespace: true,
minifyJS:true }))
.pipe(gulp.dest('dist'));
}

exports.default = defaultTask;

最新更新