Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么我的heroku应用程序在使用gzip压缩后加载资源的时间太长?_Node.js_Angular_Express_Heroku_Gzip - Fatal编程技术网

Node.js 为什么我的heroku应用程序在使用gzip压缩后加载资源的时间太长?

Node.js 为什么我的heroku应用程序在使用gzip压缩后加载资源的时间太长?,node.js,angular,express,heroku,gzip,Node.js,Angular,Express,Heroku,Gzip,我在Heroku有一个MEAN stack应用程序。在我的Express服务器中,我使用gzip(通过压缩中间件) 问题是Angular main.js文件(最初是3.2mb,压缩到575kb)似乎仍在下载,就好像它仍然是未压缩的大小一样。以下是加载时间的图像: 我知道我的网络连接很好(大约20mbps)。我有什么遗漏吗?我的gzip实现中有什么错误吗?甚至我的Heroku dyno?此应用程序当前位于hobby dyno上。我确实把它改成了专业版,但没有注意到任何区别。我不确定你的环境是什么

我在Heroku有一个MEAN stack应用程序。在我的Express服务器中,我使用gzip(通过压缩中间件)

问题是Angular main.js文件(最初是3.2mb,压缩到575kb)似乎仍在下载,就好像它仍然是未压缩的大小一样。以下是加载时间的图像:


我知道我的网络连接很好(大约20mbps)。我有什么遗漏吗?我的gzip实现中有什么错误吗?甚至我的Heroku dyno?此应用程序当前位于hobby dyno上。我确实把它改成了专业版,但没有注意到任何区别。

我不确定你的环境是什么,但你可以试试这个,它对我来说是完全实用的

// Get dependencies
const express = require('express');
const path = require('path');
const http = require('http');
const bodyParser = require('body-parser');
const compression = require('compression');

const runApp = async() => {
  const app = express();
   app.use(compression({
      filter: function (req, res) {
        return (/json|text|javascript|css|font|svg/).test(res.getHeader('Content-Type'));
      },
      level: 9
  }));
  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({ extended: false }));
  app.use(express.static(path.join(__dirname, 'public')));



  app.get('*', (req, res) => {
    console.log('Front end called');
    res.sendFile(path.join(__dirname, 'public/index.html'));
  });

  /**
   * Get port from environment and store in Express.
   */
  const port = process.env.PORT || '8081';
  app.set('port', port);

  /**
   * Create HTTP server.
   */
  const server = http.createServer(app);

  /**
   * Listen on provided port, on all network interfaces.
   */
  server.listen(port, () => console.log(`API running on localhost:${port}`));
};
runApp();
// Get dependencies
const express = require('express');
const path = require('path');
const http = require('http');
const bodyParser = require('body-parser');
const compression = require('compression');

const runApp = async() => {
  const app = express();
   app.use(compression({
      filter: function (req, res) {
        return (/json|text|javascript|css|font|svg/).test(res.getHeader('Content-Type'));
      },
      level: 9
  }));
  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({ extended: false }));
  app.use(express.static(path.join(__dirname, 'public')));



  app.get('*', (req, res) => {
    console.log('Front end called');
    res.sendFile(path.join(__dirname, 'public/index.html'));
  });

  /**
   * Get port from environment and store in Express.
   */
  const port = process.env.PORT || '8081';
  app.set('port', port);

  /**
   * Create HTTP server.
   */
  const server = http.createServer(app);

  /**
   * Listen on provided port, on all network interfaces.
   */
  server.listen(port, () => console.log(`API running on localhost:${port}`));
};
runApp();