1) 서버사이드렌더링(SSR)
2) 페이지기반 파일 시스템으로 자동 라우팅 생성(라우팅 관련 설정 복잡성 감소)
3) 페이지와 컴포넌트 자동 import
4) 자동 코드 분할, 레이지 로딩 제공(애플리케이션 로딩시간 감축)
5) 정적사이드 생성(SSG) 배포가 용이
6) Vuetify같은 UI프레임워크와 쉽게 통합 가능
7) 기본적으로 Vite를 사용하여 개발 서버와 빌드 시스템을 구동
npx nuxi@latest init <project-name>
cd <project-name>
npm install
npm i -D vuetify vite-plugin-vuetify
npm i @mdi/font
import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
export default defineNuxtConfig({
//...
build: {
transpile: ['vuetify'],
},
modules: [
(_options, nuxt) => {
nuxt.hooks.hook('vite:extendConfig', (config) => {
// @ts-expect-error
config.plugins.push(vuetify({ autoImport: true }))
})
},
//...
],
vite: {
vue: {
template: {
transformAssetUrls,
},
},
},
})
// import this after install `@mdi/font` package
import '@mdi/font/css/materialdesignicons.css'
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
export default defineNuxtPlugin((app) => {
const vuetify = createVuetify({
// ... your configuration
})
app.vueApp.use(vuetify)
})
<template>
<NuxtLayout>
<v-app>
<NuxtPage />
</v-app>
</NuxtLayout>
</template>


<template>
<div>
<h1>Welcome to the homepage</h1>
<AppAlert>
This is an auto-imported component.
</AppAlert>
</div>
</template>
<template>
<span>
<slot />
</span>
</template>
Pages


<template>
<div>
<AppHeader />
<slot />
<AppFooter />
</div>
</template>
<template>
<div>
<h1>Welcome to the homepage</h1>
<AppAlert>
This is an auto-imported component
</AppAlert>
</div>
### </template>
<template>
<section>
<p>This page will be displayed at the /about route.</p>
</section>
</template>
<NuxtLink to="/">Go to index</NuxtLink>
<NuxtLink to="/login">Go to login</NuxtLink>
1) 동적 url 파라미터값 [ paramId ] 대괄호 안에 넣어 사용 가능( param-[id] 와 같이 일부 텍스트만 동적으로 받을 수도 있음)
2) 값 가져오기