Hapi Plugin for Nuxt.js
IMPORTANT: This plugin is compatible with Hapi >= 17
Setup
- Add
@nuxtjs/hapi
dependency to your project
yarn add @nuxtjs/hapi # or npm install @nuxtjs/hapi
- Register it on your server:
const Hapi = require('@hapi/hapi')
const nuxtPlugin = require('@nuxtjs/hapi')
await server.register({
plugin: nuxtPlugin
options: {
// plugin options
}
}
Options
dev
- Default:
true
(false
when environment variableNODE_ENV
isproduction
)
Automatically starts a Builder
allow to hot reload on dev. Should be disabled for production.
overrides
Override nuxt.config
rootDir
- Default: current working directory
Nuxt app rootDir
edge
- Default:
false
Use nuxt-edge
instead of nuxt
package if set to true
baseURL
- Default:
/
baseURL for SSR route handler
route
- Default:
{ id: 'nuxt.render', auth: false }
Hapi route options for SSR handler
routeMethod
- Default:
*
Hapi route method. (Can be set to GET
for more strict handling)
nuxt
and builder
instances
Access This plugin exposes nuxt and builder (for dev only) instances to hapi.
const server = new Hapi.Server()
await server.register(HapiNuxt)
// Access to nuxt and builder instances using server.plugins.nuxt
const { nuxt, builder } = server.plugins.nuxt
Access Hapi's internals.
The hapi request object is available from nuxtServerInit
and the context
under res.hapi
. Likewise, the hapi response toolkit will be available in res.hapi
.
Development
- Clone this repository
- Install dependencies using
yarn install
ornpm install
- Start development server using
npm run dev
License
Copyright (c) Nuxt Community