This is an unofficial Nuxt module for Builder.io. It allows you to quickly and easily integrate Builder.io as a visual CMS for your Nuxt application.
This module is currently in development. It is not yet intended for production use and there will be bugs. Feel free to help out by reporting bugs and submitting pull requests!
Furthermore, this module uses Builder's second-generation Vue SDK, which is currently in beta.
- Built for Nuxt 3
- Automatically register custom components
- Opinionated defaults to get started with no configuration
- Add the
nuxt-builderio
dependency to your project
# Using pnpm
pnpm add -D nuxt-builderio
# Using yarn
yarn add --dev nuxt-builderio
# Using npm
npm install --save-dev nuxt-builderio
- Add
nuxt-builderio
to themodules
section ofnuxt.config.ts
export default defineNuxtConfig({
modules: [
'nuxt-builderio'
]
})
That's it! Read the documentation for more information, including configuration and optimization options.
You can get started extremely quickly by using the provided BuilderContent
component in a page:
<template>
<BuilderContent
throw-error
@load="onContentLoaded"
/>
</template>
<script setup lang="ts">
// You can directly access the content returned by Builder with the `@load` event
const onContentLoaded = (content) => {
console.log(content)
}
</script>
This will automatically render Builder content with full support for SSR. If no path
is provided, it
will default to the current page's path. If no model
is provided, it will use the defaultModel
provided
in the module options (this defaults to page
).
The throwError
prop will cause the component to throw a 404 error if the content is not found.
# 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
# Release new version
pnpm run release