A http proxy module for nuxt(3) powered by h3-proxy .
- See this issue Error when starting a Project using "http-proxy-middleware" with "npm run start" #15608.
- Support for both development and production environments.
- Almost the same API as nuxt-proxy that using http-proxy-middleware, But this module using h3-proxy .
- Support Typescript.
- Add
nuxt-proxy-requestdependency to your project
# Using pnpm pnpm add -D nuxt-proxy-request # Using yarn yarn add --dev nuxt-proxy-request # Using npm npm install --save-dev nuxt-proxy-request- Add
nuxt-proxy-requestto themodulessection ofnuxt.config.ts
export default defineNuxtConfig({ modules: [ 'nuxt-proxy-request' ], proxy: { options: [ { target: 'http://www.example.com', pathFilter: ['/api/**'], pathRewrite: { '^/api': '' } } ] } // OR // runtimeConfig: { // proxy: {...} // } })That's it! You can now use nuxt-proxy-request in your Nuxt app ✨
| Key | Type | Default value | Description |
|---|---|---|---|
options | object/Array<object> | [] | Configure which targets you want to proxy. |
-
Do not use
runtimeConfig.proxyfor configuration, as the function type value in theruntimeConfigobject will be ignored. Please useproxyfor configuration as it has undergone special processing on the internal implementation. -
Do not use any external variables within the function body.
import foo from 'foo' export default defineNuxtConfig({ modules: [ 'nuxt-proxy-request' ], proxy: { options: [ { target: 'http://www.example.com', pathFilter: function(path, req) { console.log(foo) /* At runtime, foo is undefined. */ return path.match(/^\/api/) && req.method === 'GET'; }, pathRewrite: { '^/api': '' } } ] } })-
Do not use RegExp literal, using
new RegExp()instead, in function body. -
Do not use Single-Line Comments, using Multiple-Line Comments instead, in function body.
If the above points cause you trouble. You can use
h3-proxydirectly. See how to use h3-proxy in Nuxt3 Project.
# Install dependencies pnpm install # Generate type stubs pnpm run dev:prepare # Develop with the playground pnpm run dev # Build the playground pnpm run dev:build # Run ESLint pnpm run lint # Run Vitest pnpm run test pnpm run test:watch # Release new version pnpm run release