Прокси-сервер Webpack devServer не работает с Sapper

У меня есть узел dev-сервер, на котором запущен Sapper на http://localhost:3000, и я хочу, чтобы все /api/ запросы проксировали другой локальный dev-сервер, написанный на python http://localhost:8000/api/

Это отлично сработало для чистого Svelte:

// webpack.config.js

module.exports.devServer = {
    historyApiFallback: true,
    proxy: {
        '/api/': {
            target: 'http://localhost:8000',
            secure: false,
            changeOrigin: true
        }
    },
};

Но ничего не делает с Sapper - просто получите ошибку 404 Sapper по умолчанию.

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


person MaxCore    schedule 30.05.2020    source источник


Ответы (1)


Sapper использует сервер Polka. Прокси-сервер можно настроить с помощью https://www.npmjs.com/package/http-proxy-middleware.

src / server.js

const { createProxyMiddleware } = require('http-proxy-middleware');

polka()
    .use('/api', createProxyMiddleware({ target: 'http://localhost:8000' }))
    // other .use, .listen rules
person MaxCore    schedule 30.05.2020