我希望现有的spring boot网关作为后端服务器,而不是角度2。
我希望angular2组合到弹簧网关。
假设:
端口8090上的angular 2 webpack-dev-server,有一个 page index.html
端口8080上的spring boot gateway:以及所有api。
我想打开
localhost:8080
查看angular2 index.html,
如何实施?
答案 0 :(得分:0)
您需要为后端设置代理。我知道基于Express的webpack-dev-server。所以,我可以告诉你如何用Express运行它:
var express = require('express');
var request = require('request');
var path = require('path');
var app = express();
app.use('/api', function(req, res) {
var url = 'http://localhost:8080/api' + req.url;
req.pipe(request(url)).pipe(res);
});
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});
/* serves all the static files */
app.get(/^(.+)$/, function(req, res){
res.sendFile( __dirname + req.params[0]);
});
app.listen(8090);
然后通过/ api / entry-point引用后端API。
@Injectable()
export class HttpProductDiscountService {
constructor(private _http: Http) {}
getProductDiscounts() {
return this._http.get('api/1.0/product-discount')
.map(res => res.json())
}
}
答案 1 :(得分:0)
我找到了一个实现的例子,
前面是:https://github.com/springboot-angular2-tutorial/angular2-app
和spring-server是:https://github.com/springboot-angular2-tutorial/boot-app,
参考这个例子,我已经成功构建了一个简化版 演示。