Зачем нам нужен прокси на сервере express.js, чтобы функциональность сервера горячей перезагрузки веб-пакетов сочеталась с реакцией маршрутизации

Дополнительная информация: я пытаюсь сделатьэтот проект построен сmarty.js а такжесервер разработки веб-пакетов разрешить точки входа изреагируют-маршрутизатор так что он работает не только в \ path.

Таким образом, я учусьЭТОТ Ответы переполнения стека в течение всего дня, и я не могу понять логику следующего кода и почему этот ответ работает.

Ретози ответил:

Я настроил прокси для достижения этой цели:

У вас есть регулярный экспресс-веб-сервер, который обслуживает index.html на любом> маршруте, кроме случаев, когда это маршрут актива. если это актив, запрос перенаправляется на web-dev-сервер

Ваши активные горячие точки входа будут по-прежнему направлены непосредственно на сервер разработки веб-пакетов, поэтому горячая перезагрузка все еще работает.

Предположим, вы запустили webpack-dev-server на 8081, а ваш прокси на 8080.

Мой код выглядит сейчас так, но для того, чтобы он заработал, мне позже потребуется реализоватьMarty-экспресс, Чтобы реализовать это, я должен сначала понять ответ retonzis.

файл express.js

требования

    'use strict';
    var express = require('express');
    var path = require('path');
    var logger = require('morgan');
    var bodyParser = require('body-parser');
    var config = require('../config.json');
    var webpack = require('webpack');
    var WebpackDevServer = require('webpack-dev-server');
    var proxy = require('proxy-middleware');
    var url = require('url');

полномочие

    var app = express(); //our express instance

    // -------- my proxy----------------------


    app.use('/assets', proxy(url.parse('http://localhost:8081/assets')));//but why do we need a proxy? This line really confuses me.

Marty-экспресс **

Я планирую использовать это сразу после того, как пойму этот пример, я просто надеюсь, что он передает реакционные маршруты в экспресс. **

    //app.use(require('marty-express')({
    //    routes: require('../routes'),
    //    application: require('../application').Application
    //}));

экспресс вещи

    app.get('/*', function(req, res) {
        res.sendFile(__dirname + '/index.html');
    });//if I got this straight this line just tells express to server my index.html file to all routes. My guess is this will be removed when I implement [marty-express][4].

2 сервера webpack-dev-server и экспресс

        //----- my-webpack-dev-server------------------
    var webpackServer = new WebpackDevServer(webpack(require('../../webpack.config')), {
        contentBase: __dirname,
        hot: true,
        quiet: false,
        noInfo: false,
        publicPath: '/assets/',
        stats: { colors: true }
    });

    //run webpack hot reload server on port 8081
    webpackServer.listen(8081, 'localhost', function() {});

    //run express server on port 8080
    app.listen(8080);

Может ли кто-нибудь быть настолько любезным, чтобы объяснить мне эту концепцию, будто я вчера спустился с планеты Марс?

Я не понимаю две вещи:

Почему нам нужен проксиКак передать реакционные маршруты в экспресс, чтобы он обслуживал их на каждом маршруте при запросе.(pehapsMarty-экспресс помогает нам в этой задаче, но я думаю, что мы могли бы сделать это вручную без него)

Бах ... Помоги мне выбраться из этого Документа дефицит АД !!! и, пожалуйста, будьте щедрыми в своем ответе. Помните, я только вчера приехал с Марса.

Спасибо..!

Ответы на вопрос(1)

Ваш ответ на вопрос