我正在尝试将我的静态登陆页面与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,但显然它可以在本地主机上获得:9000,而不是8080。
当应用程序能够访问它的静态文件时,我该如何做到这一点呢?
发布于 2017-11-13 20:25:22
您可以使用http-proxy-middleware模块的通配符路径匹配。您可以在不传递路径参数的情况下实现app.use。
app.use(proxy('/*.js', exampleProxy));
app.use(proxy('/api', exampleProxy));这将通过端口9000为您的".js“文件服务。同样,您也可以通过使用通配符匹配来提供其他资产。
https://stackoverflow.com/questions/47271620
复制相似问题