Skip to content

nuxt-alt/proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxy module for Nuxt

Info

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.

Setup

  1. Add @nuxt-alt/proxy dependency to your project
yarn add @nuxt-alt/proxy
  1. Add @nuxt-alt/proxy to the modules section of nuxt.config.ts
export default defineNuxtConfig({ modules: [ '@nuxt-alt/proxy' ], proxy: { /* module options */ } });

Options

proxies

  • Type: Object
  • Default: {}

debug

  • Type: Boolean
  • Default: false (false in prod | true in dev)

urls to proxy

experimental.listener

  • 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) => {})

Config Example

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 } } } })

About

An alternative module to @nuxtjs/proxy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •