UNPKG

nuxt-proxy

Version:
76 lines (60 loc) 1.67 kB
# nuxt-proxy [![Version](https://img.shields.io/npm/v/nuxt-proxy?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/nuxt-proxy) ![NPM](https://img.shields.io/npm/l/nuxt-proxy?style=flat&colorA=000000&colorB=000000) Http-proxy middleware for Nuxt and [h3](https://github.com/unjs/h3). ## Before using Check out H3's built-in [proxyRequest](https://www.jsdocs.io/package/h3#proxyRequest) helper before using this module. ## Installation ```bash npm install nuxt-proxy ``` ## Usage ```ts export default defineNuxtConfig({ modules: ['nuxt-proxy'], // See options here https://github.com/chimurai/http-proxy-middleware#options proxy: { options: { target: 'https://jsonplaceholder.typicode.com', changeOrigin: true, pathRewrite: { '^/api/todos': '/todos', '^/api/users': '/users' }, pathFilter: [ '/api/todos', '/api/users' ] } }, // OR // runtimeConfig: { // proxy: {...} // } }) // GET /api/todos -> https://jsonplaceholder.typicode.com/todos [304] // GET /api/users -> https://jsonplaceholder.typicode.com/users [304] ``` ```html <script setup> // Base url is required const { data } = useFetch('http://localhost:3000/api/todos') </script> ``` You can pass an array of options for multiple targets. ## Runtime config ```env NUXT_PROXY_OPTIONS_TARGET=https://reqres.in/api ``` ```ts export default defineNuxtConfig({ modules: ['nuxt-proxy'], runtimeConfig: { proxy: { options: { target: 'https://jsonplaceholder.typicode.com', ...{ /* config */} } } } }) // GET /api/users -> https://reqres.in/api/users [304] ``` ## License MIT