Proxy module for Nuxt
This serves as an alternative for @nuxtjs-alt/proxy. Please note that this is for nuxt 3 only. The config is similar to what vite has except that this one creates a physical file which is needed for production.
- Add
@nuxt-alt/proxydependency to your project
yarn add @nuxt-alt/proxy- Add
@nuxt-alt/proxyto themodulessection ofnuxt.config.ts
export default defineNuxtConfig({ modules: [ '@nuxt-alt/proxy' ], proxy: { /* module options */ } });- Type:
Object - Default:
{}
- Type:
Boolean - Default:
false(false in prod | true in dev)
urls to proxy
- Type:
Boolean - Default:
false
Enable this to use a nitro plugin that tries to hook onto the server's request and grab the server to listen in production. This is untested in non-node environments.
Nitro hook available after enabling (only in production):
nitroApp.hooks.hook('listen:node', (server) => {})import { defineNuxtConfig } from 'nuxt/config' export default defineNuxtConfig({ modules: [ '@nuxt-alt/proxy', ], proxy: { debug: false, experimental: { listener: false }, proxies: { // string shorthand '/foo': 'http://localhost:4567', // with options '/api': { target: 'http://jsonplaceholder.typicode.com', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') }, // with RegEx '^/fallback/.*': { target: 'http://jsonplaceholder.typicode.com', changeOrigin: true, rewrite: (path) => path.replace(/^\/fallback/, ''), configure: (proxy, options, runtimeConfig) => { // proxy will be an instance of 'http-proxy' }, }, // Using the proxy instance '/api': { target: 'http://jsonplaceholder.typicode.com', changeOrigin: true, configureWithEvent: (proxy, options, runtimeConfig, event, h3) => { // proxy will be an instance of 'http-proxy' // event will be an instance of the matched url proxy.on('proxyReq', (proxyReq) => { const cookies = h3.parseCookies(event) console.log(cookies) }) } }, // Proxying websockets or socket.io - Note this only works with `experimental.listener` '/socket.io': { target: 'ws://localhost:5173', ws: true } } } })