可选信息:我正在尝试使用marty.js构建此项目,而webpack dev服务器允许来自react-router的入口点,以便它不仅仅在\ path中工作.
因此,我正在整天研究这个堆栈溢出答案,我无法理解以下代码背后的逻辑以及为什么这个答案有效.
retozi回答:
我设置了一个代理来实现这个目标:
您有一个常规的快速网络服务器,可以在任何>路由上为index.html提供服务,除非它是资产路由.如果它是资产,请求将被代理到web-dev-server
您的反应热入口点仍将直接指向webpack开发服务器,因此热重新加载仍然有效.
假设您在8081上运行webpack-dev-server,在8080运行代理.
我的代码现在看起来像这样,但为了使其工作,我稍后将需要实现marty-express.为了实现我必须首先了解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');
Run Code Online (Sandbox Code Playgroud)
代理
var app = express(); //our express instance
// -------- my proxy----------------------
app.use('/assets', proxy(url.parse('http://localhost:8081/assets')));//but why do we need …Run Code Online (Sandbox Code Playgroud)