Home > database >  How to run both svelte and go
How to run both svelte and go

Time:08-19

I'm trying to make a website using svelte(front) and golang(backend). My problem is when I run those in different terminal to test my app('npm go dev' for svelte, 'go run .' for go), they run in different port. Go in port 8080 and Svelte in port 50838. How can I solve this?

CodePudding user response:

Using vite to proxy requests to your Go backend is probably the simplest method (I'm assuming you are using vite!).

To do this add something like the following to your vite.config.js:

const config = {
...,
    server: {
        proxy: {
            '/api': {
                target: 'http://127.0.0.1:8080/',
                proxyTimeout: 10000
            },
            '/': { // Complex example that filters based on headers
                target: 'http://127.0.0.1:8080/',
                proxyTimeout: 600000,
                bypass: (req, _res, _options) => {
                    let ct = req.headers['content-type'];
                    if (ct == null || !ct.includes('grpc')) {
                        return req.url; // bypass this proxy
                    }
                }
            }
        },
    }
};

This contains a few examples; you will need to tweak these to meet your needs.

  • Related