我正在使用NODE和EXPRESS设置代理服务器。我在本地和代理服务器上有相同的设置/代码库。但我想使用来自本地机器的所有js,css,图像和其他静态内容以及来自代理服务器的json响应。现在,由于代理服务器也有相同的js,css,images,它从代理服务器中获取所有内容。我是否需要限制网址调用以不从代理中选择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
});
答案 0 :(得分:1)
根据您的文件结构,您可以使用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
});