Развернутый движок приложения не распаковывает мой контент - PullRequest
0 голосов
/ 11 октября 2018

Окончательное обновление

Должно быть в конце этого месяца .


Довольно странно, я развернул несколько сайтов для ядра приложения на стандартномenv NodeJS.Уже поздно, но, надеюсь, я что-то не так делаю.

У меня есть приложение 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 обычная gzip, br и т. Д.

Локально, это gzipped.

Я в тупике.

Редактировать:

Так же, как удар, я сделал очень простое приложение, чтобы показатьвопрос.Я прочитал все документы и просто не понимаю, почему, во всяком случае, промежуточному программному обеспечению Express не разрешается обслуживать сжатый контент через промежуточное программное обеспечение 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 голосов
/ 20 ноября 2018

По данным системы отслеживания проблем , он будет выпущен в конце ноября.

Обновление

Похоже, что оно было развернуто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...