使用 Gulp 缩小并编译单个文件

Minify and compile single file using Gulp

有一个单页网站。它由 index.php 个部分组成(其他 PHP 个文件)。每个部分包括 link 到 JavaScript 个文件。


问题: 是否可以生成单个缩小的 PHP 文件,该文件将具有单个 link 到单个缩小的 JS 文件(某物类似于 https://www.npmjs.com/package/gulp-sass)?

并非开箱即用,但您可以使用 Jekyll、Harp 等静态站点生成器。

这可能需要删除 php 模板,例如 liquid,这样 Jekyll CLI 就可以解释您的包含和一般页面结构,并生成可以推送的 html 文件由 gulp 任务缩小。

Jekyll

Harpjs

gulp-htmlmin

旁注:如果您关心性能,缩小 html 很少见,因为收益是可观的,特别是如果您的服务器启用了 gzip

我已经设法自己解决了这个问题。只需 2 个工具就可以达到预期的效果:

使用 concat 我能够像这样将所有 *.js 文件连接成 logic.js

gulp.task('scripts', function () {
    return gulp.src('src/**/*.js')
        .pipe(concat('logic.js'))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

使用 ghfi 我能够包含所有包含的 PHPs 然后 minify 结果到一个 index.php:

gulp.task('php', function () {
    gulp.src('src/index.php')
        .pipe(gulpHandlebarsFileInclude())
        .pipe(htmlmin({
            collapseWhitespace: true
        }))
        .pipe(gulp.dest('dist'));
});

必须像这样在父文件中包含子文件-PHP:

{{ fileInclude 'src/foo.php' }}

PS: 对我的问题投反对票的人 - 你真的 太棒了 .