Node.js 为什么我的heroku应用程序在使用gzip压缩后加载资源的时间太长?
我在Heroku有一个MEAN stack应用程序。在我的Express服务器中,我使用gzip(通过压缩中间件) 问题是Angular main.js文件(最初是3.2mb,压缩到575kb)似乎仍在下载,就好像它仍然是未压缩的大小一样。以下是加载时间的图像: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上。我确实把它改成了专业版,但没有注意到任何区别。我不确定你的环境是什么
我知道我的网络连接很好(大约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();