Как использовать webpack в сочетании с angular2 с существующим загрузочным сервером Spring

Я хочу, чтобы существующий загрузочный шлюз Spring использовался в качестве внутреннего сервера вместо углового 2 .

то есть я хочу, чтобы angular2 сочетался с весенним шлюзом.

Предполагать :

сервер angular 2 webpack-dev-server на порту 8090, и есть страница index.html

spring boot gateway на порту 8080: и все API .

я хочу открыть

localhost:8080 

чтобы увидеть angular2 index.html ,

как реализовать?


person Kery Hu    schedule 20.05.2016    source источник


Ответы (2)


Вам нужно настроить прокси для вашего бэкенда. Я знаю, что webpack-dev-сервер на базе Express. Итак, я могу дать вам подсказку, как запустить его с помощью 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 с помощью /api/entry-point .

@Injectable()
export class HttpProductDiscountService {
    constructor(private _http: Http) {}

    getProductDiscounts() {
        return this._http.get('api/1.0/product-discount')
            .map(res => res.json())
    }
}
person max_dev    schedule 22.05.2016
comment
спасибо за подсказку, я нашел другой метод реализации. Потому что я использую весну. - person Kery Hu; 26.05.2016

Я нашел пример реализации,

фронт: https://github.com/springboot-angular2-tutorial/angular2-app< /а>

и Spring-сервер: https://github.com/springboot-angular2-tutorial/boot-app ,

Ссылаясь на этот пример, я успешно построил упрощенную демонстрацию.

person Kery Hu    schedule 26.05.2016