有一个 1-pager 网站。它由index.php
许多部分(其他 PHP 文件)组成。每个部分都包含指向 JavaScript 文件的链接。
问题:是否可以生成单个缩小的 PHP 文件,该文件将具有指向单个缩小的 JS 文件的单个链接(类似于https://www.npmjs.com/package/gulp-sass
)?
有一个 1-pager 网站。它由index.php
许多部分(其他 PHP 文件)组成。每个部分都包含指向 JavaScript 文件的链接。
问题:是否可以生成单个缩小的 PHP 文件,该文件将具有指向单个缩小的 JS 文件的单个链接(类似于https://www.npmjs.com/package/gulp-sass
)?
不是开箱即用的,但您可以使用 Jekyll、Harp 等静态站点生成器。
这可能需要为像液体这样的东西删除 php 模板,这样 Jekyll CLI 可以解释您的包含和一般页面结构,并生成可以通过 gulp 任务缩小的准备推送 html 文件。
附带说明:如果您担心性能,则很少将缩小 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我能够包含所有包含的 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:对我的问题投了反对票的人-您真是太棒了。