http-proxy-middleware - 访问静态文件

时间:2017-11-13 19:00:22

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

我正在尝试将我的静态目标网页与express.js应用程序(react.js单页应用)结合使用。

在我的目标网页上,我使用http-proxy-middleware设置了代理 我的静态页面的server.js看起来像这样:

var express = require('express');
var app = express();
var path = require('path');
var proxy = require('http-proxy-middleware');

var options = {
        target: 'http://localhost:9000', // the app
        changeOrigin: true
    };
var exampleProxy = proxy(options);

app.use('/app', exampleProxy);
app.use(express.static(__dirname + '/'))

app.listen(8080);

问题是,当我到localhost:8080 / app /我有权访问正确的index.html,但我无法获取资源时,bundle.js正在被提取:http://localhost:8080/bundle.js,但是显然它可以在localhost上获得:9000,而不是8080

如何让应用程序访问其静态文件?

1 个答案:

答案 0 :(得分:2)

您可以使用http-proxy-middleware模块的通配符路径匹配。您可以在不传递路径参数的情况下实现app.use

app.use(proxy('/*.js', exampleProxy));
app.use(proxy('/api', exampleProxy));

这将为您的" .js"通过端口9000文件。同样,您也可以使用此通配符匹配来提供其他资产。