如何在gulp文件中将Express与代理一起使用?

时间:2019-07-12 02:45:16

标签: express proxy gulp

我正在localhost上的angular.js中开发UI Web应用程序,试图将对URL /backend的所有调用重定向到我知道正在运行并且正在运行的后端服务器。

我尝试使用proxy()方法将调用重定向到后端服务器。我的gulp run任务中包含以下代码。

我还包括了proxy()方法。

gulp.js


    gulp.task('run', function () {
       ***** some code *****
       return express()
       .use(morgan('combined'))
       .use('/backend', expressMockBackend())
       .all('/backend/*', proxy('https://xxx.domain.com.au/backend/'))
});
function proxy(target) {
    var proxyServer = httpProxy.createProxyServer({
        target: target
    });

    proxyServer.on('error', function (err, req, res) {
        // console.log('status 503');
        res.statusCode = 503;
    });

    return function (req, res) {
        proxyServer.web(req, res);
    }
}

当我点击用户界面上的登录功能时,它会发出这样的呼叫,

http://localhost.domain.com.au:4445/backend/users/login

我希望电话转到

https://xxx.domain.com.au/backend/users/login

但它继续前进

http://localhost.domain.com.au:4445/backend/users/login

我确定它可以工作一到两次,但是它突然停止工作了。我唯一更改的是我做了git stash,移到了另一个分支,然后从stash弹出了文件。我不知道这有什么意义,但仍然只提它。

0 个答案:

没有答案