Node.js Express js在较大文件上提供静态文件的速度非常慢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js Express js在较大文件上提供静态文件的速度非常慢相关的知识,希望对你有一定的参考价值。

我正在尝试使用express.static为静态文件提供服务,但是在1MB-5MB的文件上加载似乎需要一段时间。如您所见,我已经将静态中间件添加为第一个。

const app       = express();
app.use("/", express.static("./Client/Static"));

const httpServer    = http.createServer(app);
httpServer.listen(Config["http-port"], () => console.log("STARTED HTTP SERVER ON " + Config["http-port"]));

app.set("views", path.join(__dirname, "Client/Views"));
app.engine("html", ejs.renderFile);
app.set("view engine", "html");

app.use(cookieParser());
app.use(bbBodyParser({
    "limit": "6mb"
}));

结果,当不使用缓存重新加载时(文件太大,因为它包含整个Font Awesome库):

Network

答案

这种情况存在问题,我想您可以在这里找到解决方案

https://github.com/expressjs/express/issues/321

但是在生产环境中,最好使用s3之类的cdn或您可能喜欢的其他名称。

以上是关于Node.js Express js在较大文件上提供静态文件的速度非常慢的主要内容,如果未能解决你的问题,请参考以下文章

Node.js+Express框架+Mongo学习第一个node.js实例

typescript node.js express 路由分隔文件的最佳实践

Node.js与Express联合中间件express-fileupload使用axios实现文件上传

尝试通过 express node.js 提供 ejs 文件时出错

Node.js 上传文件

Node.js 文件上传(Express 4、MongoDB、GridFS、GridFS-Stream)