如何使用webpack将angular2与现有的Spring Boot服务器结合起来

时间:2016-05-20 08:35:10

标签: spring-mvc spring-boot angular spring-cloud

我希望现有的spring boot网关作为后端服务器,而不是角度2。

  

我希望angular2组合到弹簧网关。

假设:

  

端口8090上的angular 2 webpack-dev-server,有一个   page index.html

     端口8080上的

spring boot gateway:以及所有api。

我想打开

localhost:8080 

查看angular2 index.html,

如何实施?

2 个答案:

答案 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

参考这个例子,我已经成功构建了一个简化版  演示。