Как включить корневое проксирование на сервере webpack? - PullRequest
0 голосов
/ 14 мая 2018

У меня есть сервер, работающий на localhost:5474, и у меня есть сервер разработки веб-пакетов.Я бы хотел, чтобы сервер веб-пакета использовал прокси-сервер для localhost:5474.

. У меня нормально работает прокси, если я предоставляю дополнительную часть URL, но я не хочу этого делать.

Следуя указаниям здесь , там написано

Обратите внимание, что запросы к root не будут проксироваться по умолчанию.Чтобы включить корневое проксирование, параметр devServer.index должен быть указан как ложное значение:

devServer: {
  index: '', // specify to enable root proxying
  host: '...',
  contentBase: '...',
  proxy: {
    context: () => true,
    target: 'http://localhost:1234'
  }
}

Я не совсем уверен, что означают точки.Означает ли это, что я поставил туда точки, или это означает, что я должен предоставить свои собственные значения для host и contentBase?

Пока это мой конфиг веб-пакета:

const path = require("path");
const webpack = require("webpack");

module.exports = {
  entry: ["./src/js/app.js"],
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "js/app.js"
  },
  devServer: {
    port:3037,


    open: true,
    hot: true,

    index: '', //needed to enable root proxying

    proxy: {
      //root proxying (doesn't work yet)
      context: () => true,
      target: 'http://localhost:5474',

      //proxying with a URL value (works)
      /*
      "/api": {
        target: "http://localhost:5474",
        pathRewrite: {"^/api" : ""}
      }*/
    },
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      }
    ]
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin()
  ],
  mode:'development'
};

Но когда я запускаю команду, она открывает http://localhost:3037/ и показывает каталог со списком.

Как я могу прокси localhost:3037 на localhost:5474, используя webpack-dev-server?

1 Ответ

0 голосов
/ 21 июня 2018

Попробуйте использовать что-то вроде этого.Обратите внимание на publicPath: '/public/', где ваш bundle.js живет, чтобы иметь возможность перезагрузить на лету.

devServer: {
    index: '', //needed to enable root proxying
    port: 10001,
    publicPath: '/public/',
    proxy: {
        context: () => true,
        '/': 'http://localhost:10000'
    }
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...