2016-05-14 36 views
0

我正在使用後端的loopback和我的前端的angular進行項目。客戶端是用gulp-angular生成的。之後,我從回送中添加了lb-services.js。我遇到的問題是角度應用程序試圖向我在gulp serve running的同一端口上向API發出請求。我在端口3000上有回送應用程序,在端口3001上有Angular運行。如何在使用環回REST API時更改gulp-angular項目的端口號

如何告訴Angular在向API發出請求時更改端口號?

從來就試圖修改吞氣server.js這樣的:

browserSync.instance = browserSync.init({ 
    startPath: '/', 
    server: server, 
    browser: browser, 
    port:4000 
    }); 

但這只是讓雙方的角度,它使對端口4000的API運行的要求,讓我這樣的結果:

對角運行: http://localhost:4000/

請求回送服務器:

http://localhost:4000/api/People 

我想是這樣的: 角上運行: http://localhost:4000/

請求回送服務器:

http://localhost:3000/api/People 

誰能幫助我實現這一目標?

回答

1

您可以添加API的rewriteRule將URL更改爲localhost:3000。如下所示: https://www.browsersync.io/docs/options/#option-rewriteRules

另一種可用的選項是:https://github.com/Swiip/generator-gulp-angular/blob/master/docs/how-it-works.md#proxy。 您可以使用代理將API請求重定向到正確的URL。像這樣(取自Github的例子):

app.use('/api', proxy({target: 'http://localhost:3000/api', changeOrigin: true})); 
+0

非常感謝您的回答。你能告訴我在哪裏具體我必須把代理代碼爲了它的工作?它在服務器端還是在客戶端?我應該搜索哪個文件來放置代碼?非常感謝。 –

+0

如果我正確地讀了它,在server.js – selten98

+0

我已經在gulp/server.js上添加了這段代碼:'server.middleware = proxyMiddleware('/ api',{ target:'http:// localhost:3000/api', changeOrigin:true });' 但是我仍然收到請求發送到端口4000 –