설치
Setup 설정
Nuxt 프로젝트에 추가
Nuxt UI 패키지 설치하기
pnpm add @nuxt/ui tailwindcss
yarn add @nuxt/ui tailwindcss
npm install @nuxt/ui tailwindcss
bun add @nuxt/ui tailwindcss
xxnuxt.config.ts에 Nuxt UI 모듈 추가
export default defineNuxtConfig({
modules: ['@nuxt/ui']
})
@nuxt/icon, @nuxt/fonts 또는 @nuxtjs/color-mode를 modules 어레이에 추가할 필요가 없습니다. icon, fonts 및 colorMode 키를 사용하여 nuxt.config.ts에서 이러한 모듈을 구성할 수 있습니다.Import Tailwind CSS 및 Nuxt UI CSS CSS에서
@import "tailwindcss";
@import "@nuxt/ui";
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css']
})
@source 지시어를 자동으로 생성하여 Tailwind CSS가 모든 레이어 소스 파일에서 유틸리티 클래스를 검색합니다.{
"files.associations": {
"*.css": "tailwindcss"
},
"editor.quickSuggestions": {
"strings": "on"
},
"tailwindCSS.classAttributes": ["class", "ui"],
"tailwindCSS.classFunctions": ["defineAppConfig"]
}
App 구성 요소를 사용하여 앱 래핑
<template>
<UApp>
<NuxtPage />
</UApp>
</template>
Nuxt 템플릿 사용하기
GitHub 또는 CLI에서 Use this template 버튼을 사용하여 official templates 중 하나를 시작하십시오.
npm create nuxt@latest -- -t ui
npm create nuxt@latest -- -t ui/landing
npm create nuxt@latest -- -t ui/docs
npm create nuxt@latest -- -t ui/saas
npm create nuxt@latest -- -t ui/dashboard
npm create nuxt@latest -- -t ui/chat
npm create nuxt@latest -- -t ui/portfolio
npm create nuxt@latest -- -t ui/changelog
npm create nuxt@latest -- -t ui/editor
npm create nuxt@latest -- -t ui/calendar
SaaS
Nuxt Content로 구동되는 랜딩, 가격, 문서 및 블로그가 포함된 SaaS 템플릿입니다.A SaaS template with landing, pricing, docs and blog powered by Nuxt Content.
Portfolio
Nuxt Content로 구동되는 작업, 기술 및 블로그를 보여주는 세련된 포트폴리오 템플릿입니다.A skill portfolio template to showcase your work, skills and blog powered by Nuxt Content.
Options 옵션
nuxt.config.ts에서 옵션을 제공하여 Nuxt UI를 사용자 정의할 수 있습니다.
prefix (### prefix)의 발음을 ### prefix
prefix 옵션을 사용하여 구성 요소의 접두어를 변경합니다.
- 기본값:
U
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prefix: 'Nuxt'
}
})
fonts
fonts 옵션을 사용하여 @nuxt/fonts 모듈을 활성화 또는 비활성화합니다.
- Default:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
fonts: false
}
})
colorMode 파일
colorMode 옵션을 사용하여 @nuxt/color-mode 모듈을 활성화 또는 비활성화합니다.
- 기본값:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
colorMode: false
}
})
theme.colors
theme.colors 옵션을 사용하여 구성요소 주제를 생성하는 데 사용되는 동적 색상 앨리어스를 정의합니다.
- Default:
['primary', 'secondary', 'success', 'info', 'warning', 'error']
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
colors: ['primary', 'error']
}
}
})
--ui-color-* 음영 및 변형의 전체 집합을 생성하며, 응용 프로그램에서 사용하는지 여부에 관계없이 색상 변형이 있습니다. 목록을 실제 사용하는 별칭으로 잘라내고, 유효성 검사 스타일이 의존하므로 양식을 사용하는 경우에는 error를 유지합니다.theme.transitions
theme.transitions 옵션을 사용하여 구성요소의 전환을 활성화하거나 비활성화합니다.
- Default:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
transitions: false
}
}
})
transition-colors 클래스를 추가합니다.theme.unstyled : badge{label="4.9+" class="align-text-top"}
theme.unstyled 옵션을 사용하여 구성 요소에서 모든 기본 테마 클래스를 제거하고 해당 구조와 class, ui 또는 app.config.ui를 통해 제공한 클래스만 유지합니다.
- 기본값:
false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
unstyled: true
}
}
})
Modal, Drawer 또는 Calendar와 같은 레이아웃이 무거운 구성 요소는 PrimeVue의 스타일이 지정되지 않은 모드와 유사하게 레이아웃을 다시 공급해야합니다.theme.defaultVariants 파일
theme.defaultVariants 옵션을 사용하여 구성 요소의 기본 color 및 size 변형을 재지정합니다.
정확히 primary 또는 md인 기본값만 대체되므로 아바타는 color: 'neutral'를 유지하고 분리기는 size: 'xs'를 유지합니다.
- Default:
{ color: 'primary', size: 'md' }
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
defaultVariants: {
color: 'neutral',
size: 'sm'
}
}
}
})
theme.prefix : badge{label="4.2+" class="align-text-top"}
theme.prefix 옵션을 사용하여 Tailwind CSS 가져오기에서 설정한 것과 동일한 접두사를 구성합니다. 이렇게 하면 Nuxt UI 구성 요소가 올바른 접두사 유틸리티 클래스 및 CSS 변수를 사용할 수 있습니다.
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
prefix: 'tw'
}
}
})
@import "tailwindcss" prefix(tw);
@import "@nuxt/ui";
@nuxt/fonts 모듈에서 접두사 옵션을 사용하려면 fonts.processCSSVariables를 활성화해야 할 수도 있습니다.You might need to enable fonts.processCSSVariables to use the prefix option with the @nuxt/fonts module:export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
prefix: 'tw'
}
},
fonts: {
processCSSVariables: true
}
})
이것은 Nuxt UI 컴포넌트 테마의 모든 Tailwind 유틸리티 클래스와 CSS 변수에 자동으로 접두어를 추가합니다.
<!-- Without prefix -->
<button class="px-2 py-1 text-xs hover:bg-primary/75">Button</button>
<!-- With prefix: tw -->
<button class="tw:px-2 tw:py-1 tw:text-xs tw:hover:bg-primary/75">Button</button>
prose 파일
prose 옵션을 사용하여 @nuxtjs/mdc, @nuxt/content 또는 @comark/nuxt가 설치되어 있지 않은 경우에도 Nuxt UI Prose components 임포트를 강제로 수행합니다.
- Default:
false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prose: true
}
})
mdc : badge{label="Deprecated" color="warning" class="align-text-top"}
대신 prose 옵션을 사용합니다.
content 사용자
content 옵션을 사용하여 @nuxt/content가 설치되지 않은 경우에도 Nuxt UI 산문 및 내용 구성 요소를 강제로 가져옵니다.
- 기본값:
false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
content: true
}
})
experimental.componentDetection: badge{label="4.1+" class="align-text-top"}
experimental.componentDetection 옵션을 사용하여 트리 셰이킹을 위한 자동 구성 요소 감지를 활성화합니다. 이 기능은 소스 코드를 스캔하여 실제로 사용되는 구성 요소를 감지하고 해당 구성 요소에 필요한 CSS만 생성합니다(종속성 포함).
- 기본값:
false - Type :
boolean | string[]
**자동 감지 기능 활성화: **
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
experimental: {
componentDetection: true
}
}
})
**동적 사용을 위한 추가 구성요소 포함: **
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
experimental: {
componentDetection: ['Modal', 'DropdownMenu', 'Popover']
}
}
})
<component :is="..." />와 같은 동적 구성 요소에 유용합니다.Continuous 버전
Nuxt UI는 pkg.pr.new를 사용하여 지속적인 미리 보기 릴리스를 제공하므로 개발자가 공식 릴리스를 기다리지 않고도 최신 기능과 버그 수정에 즉시 액세스할 수 있습니다.
v4 분기의 모든 커밋 및 PR에 대해 자동 미리 보기 릴리스가 생성됩니다. 패키지 버전을 특정 커밋 해시 또는 PR 번호로 대체하여 사용합니다.
{
"dependencies": {
- "@nuxt/ui": "^4.0.0",
+ "@nuxt/ui": "https://pkg.pr.new/@nuxt/ui@4c96909",
}
}