nuxt-proxy-request
nuxt-proxy-request
A http proxy module for nuxt(3) powered by h3-proxy .
Why use this module?
- See this issue Error when starting a Project using "http-proxy-middleware" with "npm run start" #15608.
Features
- 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.
Quick Setup
- 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 ✨
Options
| Key | Type | Default value | Description |
|---|---|---|---|
options |
object/Array<object> |
[] |
Configure which targets you want to proxy. :warning: TIPS: More config object please see h3-proxy's Options, You can pass an array of options for multiple targets or pass an object of options for single target. |
:warning: Do not when the value of a certain configuration item is a function type :warning:
-
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.
Development
# 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
Related Packages
Auto-generate Nitro defineRouteMeta (OpenAPI) for Nuxt server routes from JSDoc...
Google Identity Services integration for Nuxt 3 & 4 with a simple composable and...
Add Pulse Analytics — privacy-first web analytics — to a Nuxt site with one modu...
Version History
| Version | Released | License |
|---|---|---|
| 4.0.2 | MIT | |
| 4.0.1 | MIT | |
| 3.0.0 | MIT | |
| 2.1.0 | MIT | |
| 2.0.7 | MIT | |
| 2.0.6 | MIT | |
| 2.0.5 | MIT | |
| 2.0.4 | MIT | |
| 2.0.3 | MIT | |
| 2.0.2 | MIT | |
| 2.0.1 | MIT | |
| 2.0.0 | MIT | |
| 1.10.0 | MIT | |
| 1.9.0 | MIT | |
| 1.8.0 | MIT | |
| 1.7.0 | MIT | |
| 1.6.1 | MIT | |
| 1.6.0 | MIT | |
| 1.5.1 | MIT | |
| 1.5.0 | MIT | |
| 1.4.0 | MIT | |
| 1.3.0 | MIT | |
| 1.2.0 | MIT | |
| 1.1.11 | MIT | |
| 1.1.10 | MIT | |
| 1.1.9 | MIT | |
| 1.1.8 | MIT | |
| 1.1.7 | MIT | |
| 1.1.6 | MIT | |
| 1.1.5 | MIT |
Showing the latest 30 of 38. See every release on npm