Skip to content

vikejs/vike-solid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm version

vike-solid

SolidJS integration for Vike, see vike.dev/solid.

Introduction

UI framework Vike extensions like vike-solid:

  • implement Vike Core hooks (e.g. onRenderHtml()) on your behalf,
  • set Vike Core settings on your behalf,
  • introduce new hooks for you to implement if needed,
  • introduce new settings for you to set if needed,
  • introduce new components and component hooks.

Scaffold new app

Use Bati to scaffold a Vike app using vike-solid.

Add to existing app

To add vike-solid to an existing Vike app:

  1. Install the vike-solid npm package in your project:
npm install vike-solid
  1. Edit your Vite config:
// vite.config.ts

import vikeSolid from "vike-solid/vite";
import vike from "vike/plugin";
import type { UserConfig } from "vite";

export default {
  plugins: [
    vike(),
    // Add vikeSolid() after vike()
    vikeSolid()
  ]
} satisfies UserConfig
  1. Extend your existing Vike config files with vike-solid:
 // /pages/+config.js

+import vikeSolid from 'vike-solid/config'
+
 export default {
   // Existing Vike Core settings
   // ...
+
+  // New setting introduced by vike-solid:
+  title: 'My Vike + Solid App',
+
+  extends: vikeSolid
 }

Hooks

vike-solid implements the onRenderHtml() and onRenderClient() hooks on your behalf, which are essentially the glue code between Vike and Solid.

Settings

vike-solid sets the following Vike Core settings on your behalf:

vike-solid introduces the following new settings:

  • Head: Component Component to be rendered inside the <head> tag.
  • title: string <title>...</title> tag.
  • favicon: string <link rel="icon" href="..." /> attribute.
  • lang: string <html lang="..."> attribute.
  • ssr: boolean Enable/disable Server-Side Rendering (SSR).
  • stream: boolean Enable/disable HTML streaming.
  • Layout: Component Wrapper for your Page component.

Component hooks

vike-solid introduces the following new component hooks:

Components

vike-solid introduces the following new components:

  • ClientOnly: Wrapper to render and load a component only on the client-side.