我是新来的。我正在使用 gulp 任务进行 AWS 发布。在发布之前,我想重命名所有没有扩展名的 html 文件(即删除扩展名)。
然后发布具有两个不同标题的内容,以强制 HTML 文件的内容类型为“text/html”。
- 如果文件是 html(我已经删除了 html 扩展名),则使用htmlHeaders,其中内容类型被称为“text/html”,
- ELSE在没有使用内容类型的情况下 使用normalHeaders 。
由于我已经删除了那个 .html 文件扩展名,所以我找不到根据任何条件进行发布的条件。
下面的代码删除了 html 扩展名,但不会根据文件类型添加不同的标题。如何根据文件类型管道publisher.publish(htmlHeaders)或publisher.publish(normalHeaders) ?
gulp.task('aws-staging-main', function () {
var publisher = awspublish.create(
{
region: "us-east-1",
params: {
Bucket: "<my bucket>"
},
accessKeyId: "<my access key>",
secretAccessKey: "<my secret access key>"
}
);
var normalHeaders = {
"Cache-Control": "max-age=315360000, no-transform, public",
};
var htmlHeaders = {
"Cache-Control": "max-age=315360000, no-transform, public",
'Content-Type': 'text/html; charset=utf-8'
};
var cfSettings = {
distribution: '<my distribution>',
accessKeyId: "<my key>",
secretAccessKey: "<my secret key>",
wait: true,
originPath: '/dist',
}
return (
gulp.src(Paths.DIST_ALL)
.pipe(rename(function (path){
if( path.extname === '.html')
path.extname = "";
}))
.pipe(publisher.publish(normalHeaders));
.pipe(cloudfront(cfSettings))
.pipe(awspublish.reporter())
);
})