Bootstrap는 인기있는 UI Framework입니다. Vue가 JavaScript의 쉽고 빠른 개발을 도와준다면 Bootstrap은 사전에 정의된 CSS를 사용하여 최소한의 노력으로 쉽게 예쁜 HTML Markup을 도와줍니다.
BootstrapVue는 Vue용 Bootstrap이라고 보시면 될 것 같습니다. Vue를 위한 사전에 정의된 다양한 커스텀컴포넌트를 제공합니다. 하지만 이번 시간에는 다음과 같은 이유로 BootstrapVue이 아닌 Bootstrap5를 사용하도록 하겠습니다.
npm install bootstrap
import 'bootstrap/dist/css/bootstrap.min.css'
import { createApp } from 'vue';
import App from './App.vue';
createApp(App).mount('#app');
~~import 'bootstrap/dist/js/bootstrap.js';~~
import 'bootstrap/dist/js/bootstrap.bundle.min.js'
Bootstrap를 활용하여 Layout을 만들어 보도록 하겠습니다.
// src/components/TheNav.vue
<script setup></script>
<template>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
</ul>
</div>
</div>
</nav>
</template>
// src/components/TheView.vue
<template>
<main class="container py-4">Hello World!</main>
</template>
// src/App.vue
<script setup>
import TheNav from './components/TheNav.vue';
import TheView from './components/TheView.vue';
</script>
<template>
<TheNav></TheNav>
<TheView></TheView>
</template>
bootstrap-icons 모듈 설치
npm i bootstrap-icons
main.js 에 bootstrap-icons.css 추가
// main.js
import 'bootstrap-icons/font/bootstrap-icons.css';