0

有一个 1-pager 网站。它由index.php许多部分(其他 PHP 文件)组成。每个部分都包含指向 JavaScript 文件的链接。


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

4

2 回答 2

2

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

这可能需要为像液体这样的东西删除 php 模板,这样 Jekyll CLI 可以解释您的包含和一般页面结构,并生成可以通过 gulp 任务缩小的准备推送 html 文件。

杰基尔

竖琴

gulp-htmlmin

附带说明:如果您担心性能,则很少将缩小 html 视为收益是微不足道的,特别是如果您的服务器已gzip启用。

于 2017-09-01T09:41:36.853 回答
1

我自己设法解决了这个问题。只需 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我能够包含所有包含的 PHP,然后将结果缩小为一个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:对我的问题投了反对票的人-您真是太棒了。

于 2017-09-01T10:59:40.877 回答