P4sca1 / proxy-module

The one-liner node.js http-proxy middleware solution for Nuxt.js using http-proxy-middleware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@nuxtjs/proxy

npm version npm downloads codecov license

Proxy support for nuxt server

πŸ“– Release Notes

Features

βœ“ Path rewrites

βœ“ Host based router (useful for staging/test)

βœ“ Logs / Proxy Events

βœ“ WebSockets

βœ“ Auth / Cookie

βœ“ ...See http-proxy-middleware docs

⚠ Does not work with nuxt generate (see static target).

Setup

  1. Add @nuxtjs/proxy dependency to your project
yarn add @nuxtjs/proxy # or npm install @nuxtjs/proxy
  1. Add @nuxtjs/proxy to the modules section of nuxt.config.js
{
  modules: [
    // Simple usage
    '@nuxtjs/proxy'
  ],
  proxy: {
    // see Proxy section
  }
}
  • Define as many as proxy middleware you want in proxy section of nuxt.config.js (See proxy section below)

proxy

You can provide proxy config using either object or array.

Array Config

You can use shorthand syntax to configure proxy:

{
  proxy: [
    // Proxies /foo to http://example.com/foo
    'http://example.com/foo',

    // Proxies /api/books/*/**.json to http://example.com:8000
    'http://example.com:8000/api/books/*/**.json',

    // You can also pass more options
    [ 'http://example.com/foo', { ws: false } ]
  ]
}

Object Config

Keys are context

{
  proxy: {
    // Simple proxy
    '/api': 'http://example.com',

    // With options
    '/api2': {
      target: 'http://example.com',
      ws: false
    },

    // Proxy to backend unix socket
    '/api3': {
      changeOrigin: false,
      target: { socketPath: '/var/run/http-sockets/backend.sock' }
    }
  }
}

Default Options

  • changeOrigin and ws options are enabled by default.

You can provide default options to all proxy targets by passing options to module options:

export default {
  modules: [
    // Disable ws option to all proxified endpoints
    ['@nuxtjs/proxy', { ws: false }]
  ],
  proxy: [
    'http://example.com/foo',
    'http://example.com:8000/api/books/*/**.json',
  ]
}

This will be similar to:

export default {
  modules: [
    '@nuxtjs/proxy',
  ],
  proxy: [
    ['http://example.com/foo', { ws: false }],
    ['http://example.com:8000/api/books/*/**.json', { ws: false }]
  ]
}

Development

  1. Clone this repository
  2. Install dependencies using yarn install or npm install
  3. Start development server using npm run dev

License

MIT License

Copyright (c) Nuxt Community

About

The one-liner node.js http-proxy middleware solution for Nuxt.js using http-proxy-middleware

License:MIT License


Languages

Language:TypeScript 77.0%Language:JavaScript 20.3%Language:Vue 2.6%