【问题标题】:Serving gzipped by gulp files on Firebase Hosting在 Firebase 主机上使用 gulp 文件提供 gzip 压缩服务
【发布时间】:2020-08-25 21:10:54
【问题描述】:

我的 Angular 9 应用程序不够大,但不知何故 main.js 包大小为 1.7Mb。 package.json 中只有很少的依赖项

"dependencies": {
"@angular/animations": "~9.0.2",
"@angular/cdk": "^9.0.1",
"@angular/common": "~9.0.2",
"@angular/compiler": "~9.0.2",
"@angular/core": "~9.0.2",
"@angular/fire": "^6.0.2",
"@angular/forms": "~9.0.2",
"@angular/material": "^9.0.1",
"@angular/platform-browser": "~9.0.2",
"@angular/platform-browser-dynamic": "~9.0.2",
"@angular/router": "~9.0.2",
"firebase": "^7.9.3",
"ngx-image-cropper": "^3.1.9",
"rxjs": "~6.5.4",
"tslib": "^1.10.0",
"zone.js": "~0.10.2"

ng-build --prod 函数之后,我启动gulp compress 以压缩所有构建的文件:

let gulp = require('gulp');
let gzip = require('gulp-gzip');

gulp.task('compress', function() {
  return gulp.src(['./dist/**/*.*'])
    .pipe(gzip())
    .pipe(gulp.dest('./dist'));
});

Here I have this list of files in dist directory:

尝试了不同的方式(包括仅提供 .gz 文件),但我既没有得到错误,也没有得到相同大小的文件。任何形式的帮助都会非常有用,谢谢!

【问题讨论】:

    标签: angular gzip angular9 firebase-hosting


    【解决方案1】:

    Firebase 托管使用 gzip 自动压缩,因此您不应手动进行。

    您上传的每个文件都缓存在全球 CDN 边缘的 SSD 上,并以 gzip 或 Brotli 的形式提供。我们会为您的内容自动选择最佳压缩方法。无论您的用户在哪里,内容都能快速交付。

    https://firebase.google.com/docs/hosting

    【讨论】:

    • 是的,我可以在响应标头中看到当前的编码类型是 br。但我也注意到网络中的文件大小与我的 PC 上的文件大小完全相同。可能是我不完全理解所有这些编码的工作原理,但似乎没有任何压缩。
    • 这可能取决于您使用什么工具来查看大小。某些工具可能会默认显示实际大小而不是传输大小。
    猜你喜欢
    • 2018-06-02
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多