所以我有一个简单的 express 应用程序。当它在本地运行时,我可以看到js,css文件被gzip压缩,但是当我部署到cloud Foundry时,这些文件没有被压缩。文件大小仍然相同。
任何人都知道原因,如何解决此问题或解决此问题的方法吗?

const express = require('express');
const compression = require('compression');
const app = express();

app.use(compression());
app.use(express.static('./public'));

Package.json
{
  "name": "conversation-simple",
  "description": "A simple Node.js based web app which shows how to use the Conversation API to recognize user intents.",
  "version": "0.1.1",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "@google/chatbase": "^1.1.2",
    "body-parser": "^1.18.2",
    "botbuilder": "^3.15.0",
    "cloudant": "^1.10.0-NOTICE",
    "compression": "^1.7.3",
    "cors": "^2.8.4",
    "dotenv": "^2.0.0",
    "express": "^4.16.1",
    "gulp-rename": "^1.4.0",
    "moment": "^2.22.2",
    "nano": "^6.4.4",
    "request": "^2.87.0",
    "slick-carousel": "^1.8.1",
    "underscore": "^1.9.0",
    "universal-analytics": "^0.4.16",
    "watson-developer-cloud": "^3.5.3",
    "xml-js": "^1.6.3"
  },
  "engines": {
    "node": "8.15.x"
  }
}

更新:

好像有位置问题。将其部署到悉尼后,压缩不起作用,但达拉斯还可以。 IBM支持人员已在我的票证中确认了该问题,目前正在调查中。

最佳答案

我有同样的问题,我觉得到目前为止我已经尝试了所有事情:
静态Gzip压缩(提供.gz文件)
布罗特利(没有骰子)
动态压缩(像您一样)
重定向到静态.gz文件

它可以在本地正常工作,但是一旦部署,放屁无声。

我有一种感觉,它发生在代理中,需要在某个地方启用,尽管这里没有记录

在这里评论以遵循此步骤,我也已经联系了他们的支持,如果我得到任何答案,我会把他们放在这里:)

关于node.js - 在IBM Cloud Foundry中运行Node.js应用程序时文件不压缩,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56035334/

10-09 20:08
查看更多