部署的应用引擎未压缩我的内容

时间:2018-10-11 04:14:48

标签: angular express google-app-engine

最终更新

应为rolling out end of this month


这里很奇怪,我已经在标准env NodeJS上的App Engine上部署了一些站点。已经很晚了,但希望我做错了事。

我有一个基本的脚手架Angular 6应用程序,已将其部署到应用程序引擎,而本地运行的服务器正在为我提供压缩的内容,而部署的应用程序则没有。相当标准的通用server.ts

import 'zone.js/dist/zone-node';
import 'reflect-metadata';

import * as express from 'express';
import compression from 'compression';

import { enableProdMode } from '@angular/core';
import { join } from 'path';

enableProdMode();

const app = express();
app.use(compression()); // <== Definitely using compression here

const PORT = process.env.PORT || 8080;
const DIST_FOLDER = join(process.cwd(), 'dist');

// * NOTE :: leave this as require() since this file is built Dynamically from webpack
const {
  AppServerModuleNgFactory,
  LAZY_MODULE_MAP
} = require('./dist/server/main');

// Express Engine
import { ngExpressEngine } from '@nguniversal/express-engine';
// Import module map for lazy loading
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';

app.engine(
  'html',
  ngExpressEngine({
    bootstrap: AppServerModuleNgFactory,
    providers: [provideModuleMap(LAZY_MODULE_MAP)]
  })
);

app.set('view engine', 'html');
app.set('views', join(DIST_FOLDER, 'browser'));

// Server static files from /browser
app.get('*.*', express.static(join(DIST_FOLDER, 'browser')));

// All regular routes use the Universal engine
app.get('*', (req, res) => {
  res.render('index', { req });
});

// Start up the Node server
app.listen(PORT, () => {
  console.log(`Node server listening on http://localhost:${PORT}`);
});

已部署站点的Devtools会显示完整文件大小,并且响应标头不是“ gzip”,尽管accept-encoding是通常的gzip, br等。

在本地被压缩。

我很困惑。

编辑:

碰巧的是,我做了一个非常基本的应用程序来展示这个问题。我已经阅读了所有文档,但我真的不明白为什么没有“允许”快速中间件通过compression中间件提供压缩后的内容的情况。

请求最大资产的标头:

:authority: ng-universal-test-220902.appspot.com
:method: GET
:path: /main.119034af43b36e354210.js
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cache-control: no-cache
pragma: no-cache
referer: https://ng-universal-test-220902.appspot.com/
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36

同一请求的响应标头:

accept-ranges: bytes
alt-svc: quic=":443"; ma=2592000; v="44,43,39,35"
cache-control: public, max-age=0
content-length: 642804
content-type: application/javascript; charset=UTF-8
date: Mon, 29 Oct 2018 02:26:38 GMT
etag: W/"9cef4-166bda0e164"
last-modified: Mon, 29 Oct 2018 02:22:09 GMT
server: Google Frontend
status: 200
vary: Accept-Encoding
x-cloud-trace-context: 8d126079c95f2e6bbced4265c46a87ca
x-powered-by: Express

Network panel showing no Content-Encoding headers

1 个答案:

答案 0 :(得分:2)

根据issue tracker,它将在11月底推出。

更新

似乎已推出。

相关问题