为了分离我的前端和后端代码,我将前端(角度应用程序)移动到一个简单的expressJS应用程序。后端是一个非常复杂的Grails应用程序,只提供API。
要解决CORS问题(因为这两个服务器都运行在不同的URL上),我在Express应用程序中使用这个简单的代码 -
const express = require("express")
var request = require("request")
const apiServer = process.env.API_URL
app.use("/api/*", function(req, res) {
var url = apiServer + req.originalUrl
req.pipe(request(url)).pipe(res)
});
这很有效。但是,我认为在管道之前它正在内存中读取整个请求体。我不希望这样,因为我有一些API来上传文件,并且首先在快递应用程序的内存中读取这些文件只会浪费时间和内存。
我希望我的快速服务器非常轻量级,因为它的唯一目的是提供静态资源(角度应用程序)