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

http-proxy-middleware - access to the static files

我正在尝试将我的静态着陆页与 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

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

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

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

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