我正在使用 NODE 和 EXPRESS 设置代理服务器。我在本地和代理服务器中有相同的设置/代码库。但我想使用来自本地计算机的所有 js、css、图像和其他静态内容以及来自代理服务器的 json 响应。现在,由于代理服务器也具有相同的 js、css、图像,因此它正在从代理获取所有内容。我是否需要限制 url 调用不从代理中选择 js、css、图像和其他静态内容,而是从本地选择。我怎么做?这是代码结构(本地和代理)
/src
/javacode
/WebContent
/js
/css
/images
/jsp
我希望/WebContent 下的所有内容都从本地使用。 这就是我设置代理的方式:
var proxy = httpProxy.createProxyServer();
app.route('/app/*$').all(function (req, res) { // proxy all requests
proxy.web(req, res, {target: 'http://proxy-server:7001'}); //sandbox
});
最佳答案
根据您的文件结构,您可以使用 express.static
将静态 /WebContent
目录映射到 WebContent
虚拟路径,如下所示:
var proxy = httpProxy.createProxyServer();
app.use('/app/js', express.static('WebContent/js'));
app.use('/app/css', express.static('WebContent/css'));
app.use('/app/etc', express.static('WebContent/etc'));
app.route('/app/*$').all(function (req, res) { // proxy all requests
proxy.web(req, res, {target: 'http://proxy-server:7001'}); //sandbox
});
关于node.js - 设置代理服务器时如何使用本地静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033635/