Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsMay 14, 2026·3 min de lecture

Naive UI — Complete Vue 3 Component Library with TypeScript

Naive UI is a fully tree-shakable Vue 3 component library written in TypeScript. It ships over 90 components with built-in dark mode, customizable theming, and first-class TypeScript support, making it a strong choice for building modern web applications.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Naive UI Overview
Commande CLI universelle
npx tokrepo install 4e126b3b-4f6e-11f1-9bc6-00163e2b0d79

Introduction

Naive UI provides a comprehensive set of Vue 3 components designed with TypeScript from the ground up. It focuses on developer experience with sensible defaults, extensive theming, and no mandatory CSS preprocessor dependency. All styles are generated via CSS-in-JS, which means you can customize themes without managing Sass or Less files.

What Naive UI Does

  • Delivers 90+ production-ready components including data tables, forms, modals, trees, and date pickers
  • Supports dark mode out of the box with a single theme toggle
  • Provides a powerful theming system that allows per-component style overrides via JavaScript objects
  • Generates all styles at runtime using CSS-in-JS, removing the need for CSS preprocessors
  • Offers full tree-shaking so only imported components are bundled

Architecture Overview

Naive UI is built entirely in Vue 3 Composition API and TypeScript. It uses CSS Render, a custom CSS-in-JS engine, to generate scoped styles at runtime. Components follow a consistent props/slots/events pattern and expose type-safe interfaces. The theming layer uses a context provider that merges global and local overrides, enabling deep customization without forking components.

Self-Hosting & Configuration

  • Install via npm or yarn and import individual components for tree-shaking
  • Wrap your app in <n-config-provider> to set global theme variables
  • Switch between light and dark mode by passing theme={darkTheme} to the config provider
  • Override specific component styles using the theme-overrides prop with a plain JS object
  • Works with Vite, Webpack, and Nuxt out of the box with no extra plugins required

Key Features

  • Written in TypeScript with full type definitions for props, events, and slots
  • CSS-in-JS styling with no CSS file imports or preprocessor setup
  • Granular theming via JavaScript objects at both global and component levels
  • Built-in internationalization supporting 40+ locales
  • Accessibility improvements with ARIA attributes on interactive components

Comparison with Similar Tools

  • Element Plus — established Vue 3 library with SCSS theming; larger community but requires CSS preprocessor setup
  • Vuetify — Material Design library for Vue with opinionated styling; richer ecosystem but heavier bundle
  • Ant Design Vue — port of Ant Design to Vue; enterprise-focused with more components but larger footprint
  • PrimeVue — extensive component suite with multiple theme presets; highly flexible but steeper learning curve
  • Quasar — full framework (not just components) with build tools and mobile support; more batteries-included but more opinionated

FAQ

Q: Does Naive UI require Sass or Less? A: No. All styles are generated via CSS-in-JS at runtime. You do not need any CSS preprocessor.

Q: Can I use Naive UI with Nuxt? A: Yes. Naive UI works with Nuxt 3. Use the naive-ui Nuxt module or import components directly with SSR-compatible configuration.

Q: How does theming work? A: Wrap your app in <n-config-provider> and pass a theme object. You can override colors, spacing, and per-component styles using plain JavaScript objects. Dark mode is a built-in theme you can swap at runtime.

Q: Is Naive UI suitable for production? A: Yes. It is used in production by many companies and has a stable API with semantic versioning. The library is actively maintained with regular releases.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires