Как исключить какой-либо шаблон URL-адреса при использовании прокси-сервера webpack devitver? - PullRequest
0 голосов
/ 13 апреля 2019

Справочная информация: моя среда разработки - cloud9 web ide. Мой сервер приложений слушает 8000 порт через nginx. Я запускаю webpack devserver на порт 9000.

Я хочу передать все запросы на сервер приложений, кроме корневого URL / и URL, начинающегося с /sockjs. Я проверил документы devserver и http-proxy-middleware , и мне трудно найти правильное решение в веб-пакете, соответствующее proxy(['/api/**', '!**/bad.json'], {...}) в http-proxy-middleware. Я пробовал:

devServer: {
  disableHostCheck: true,
  proxy: {
    '!sockjs': { 
      target: `http://0.0.0.0:8000`,
    },
  },
  port: 9000,
},

и

devServer: {
  disableHostCheck: true,
  proxy: {
    [['/**', '!**/sockjs']]: { 
      target: `http://0.0.0.0:8000`,
    },
  },
  port: 9000,
},

Я знаю bypass, но он тоже не работает.

devServer: {
  disableHostCheck: true,
  proxy: {
    '/': { 
      target: `http://0.0.0.0:8000`,
      bypass: function(req, res, proxyOptions) {
        if (req.originalUrl.startsWith('/sockjs')) {
          return '/index.html';
        }
      }, 
    },
  },
  port: 9000,
},
...