Symfony 网页包清单未使用来自Amazon S3的gzip版本
我正在为我的资产使用Symfony网页包Encore。我创建了gzip 使用CompressionPlugin创建文件,并使用S3Plugin将其加载到AmazonS3上。我没有压缩所有资产文件,因此无法使用“ConfigureFileName”选项更改所有文件名。 我需要文件名中的.gz,因此我在上传到S3时设置了编码 Symfony网页包Encore生成的manifest.json仅引用我的原始资产,而不是gzip版本Symfony 网页包清单未使用来自Amazon S3的gzip版本,symfony,webpack,webpack-encore,Symfony,Webpack,Webpack Encore,我正在为我的资产使用Symfony网页包Encore。我创建了gzip 使用CompressionPlugin创建文件,并使用S3Plugin将其加载到AmazonS3上。我没有压缩所有资产文件,因此无法使用“ConfigureFileName”选项更改所有文件名。 我需要文件名中的.gz,因此我在上传到S3时设置了编码 Symfony网页包Encore生成的manifest.json仅引用我的原始资产,而不是gzip版本 Encore .addPlugin(new Compressio
Encore
.addPlugin(new CompressionPlugin({
test: /\.(js|css)$/,
filename: '[path].gz[query]',
minRatio: 0.8,
algorithm: 'gzip',
deleteOriginalAssets: false
}));
Encore
.addPlugin(new S3Plugin({
s3Options: {
...
},
s3UploadOptions: {
Bucket: '...',
// Here we set the Content-Encoding header for all the gzipped files to 'gzip'
ContentEncoding(fileName) {
if (/\.gz/.test(fileName)) {
return 'gzip';
}
},
},
}));
生成的manifest.json如下所示:
{
"build/main.css": "/build/main.fcbbf369.css",
"build/main.js": "/build/main.d2286d33.js",
"build/main.fcbbf369.css.gz": "/build/main.fcbbf369.css.gz",
"build/main.d2286d33.js.gz": "/build/main.d2286d33.js.gz",
}
但它应该是这样的:
{
"build/main.css": "/build/main.fcbbf369.css.gz",
"build/main.js": "/build/main.d2286d33.js.gz"
}
你有没有找到解决办法?有同样的麻烦。