如何在设置代理服务器时使用本地静态文件

时间:2015-05-04 15:13:56

标签: node.js express http-proxy node-http-proxy

我正在使用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
    });

1 个答案:

答案 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
});