 nuxt-prepare
nuxt-prepare 
nuxt-prepare 
Initialization steps at build time – like Nuxt 2 server init
Nuxt Prepare
Nuxt module to run async initialization steps at build-time.
Features
- 🦦 Zero-Config
- 🦎 Run sync or async operations when Nuxt builds your app
- ✂️ Conditionally overwrite runtime config or app config values
- 🍡 Run scripts in series or parallel
- 🦾 Better DX with defineNuxtPrepareHandler
Setup
npx nuxi@latest module add prepare
Basic Usage
Add the nuxt-prepare module to your nuxt.config.ts:
// `nuxt.config.ts`
export default defineNuxtConfig({
  modules: ['nuxt-prepare']
})
By default, Nuxt Prepare will look for a server.prepare.ts file in your project root. To run synchronous or asynchronous code when Nuxt builds your app, define a handler in your project root and export a default function:
// `server.prepare.ts`
import { defineNuxtPrepareHandler } from 'nuxt-prepare/config'
export default defineNuxtPrepareHandler(async () => {
  // Do some async magic here, e.g. fetch data from an API
  return {
    // Overwrite the runtime config variable `foo`
    runtimeConfig: {
      public: {
        foo: 'Overwritten by "server.prepare" script'
      }
    },
    // Pass custom state to Nuxt and import it
    // anywhere from `#nuxt-prepare`
    state: {
      foo: 'bar'
    }
  }
})
!TIP You can run as many prepare scripts as you want – add them to the
prepare.scriptsmodule configuration.
💻 Development
- Clone this repository
- Enable Corepack using corepack enable
- Install dependencies using pnpm install
- Run pnpm run dev:prepare
- Start development server using pnpm run dev
Credits
- Maronbeere for his Chameleon pixel art.
- McPizza0 for his inspirational nuxt-server-initmodule.
License
MIT License © 2023-PRESENT Johann Schopplich
