카테고리 없음

[Vue] Font Awesome 아이콘을 갖다 써보자

Pastel Whale 2022. 2. 6. 18:20

 


 

안녕하세요 오늘 가져온 주제는 Vue에서

Font Awesome을 사용하여 여러 Icon들을

사용해보는 것입니다. 여러 가지 개발 관련

포스팅 할 거는 많은데.. 꾸준히 해보겠습니다 ㅎㅎ

 

 

 

 

Font Awesome?


웹에서 아이콘이 필요할 때 가장 많이 사용되는 라이브러리 중에 하나입니다. 웹 사이트에서 벡터 아이콘과 소셜 로고를 얻을 수 있습니다. 아직까지도 Font Awesome4가 많이 사용되고 있지만 최신 Font Awesome 5가 출시되었습니다.

Font Awesome은 다양한 언어, 프레임워크에서 사용할 수 있습니다.

 

 

 

설치하기


 

핵심 패키지 및 아이콘 콘텐츠를 설치

$ npm i --save @fortawesome/fontawesome-svg-core
$ npm i --save @fortawesome/free-solid-svg-icons

 

Vue 2.x

$ npm i --save @fortawesome/vue-fontawesome@latest

 

 

사용하기


 

Vue에서 바로 이렇게 쓰고 싶지만 몇 가지 세팅을 해줘야 합니다.

<i class="fas fa-camera"></i>

 

main.js로 가볼까요

vue-cli로 구성된 프로젝트에 적용하길 추천합니다.

 

src/main.js

import { createApp } from "vue";
import App from "./App.vue";
import { store, key } from "./store";
import "./resisterServiceWorker";
import router from "./router";

import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { library } from "@fortawesome/fontawesome-svg-core";
import {
  faTimesCircle,
  faCheckCircle,
  faPenSquare,
  faPlusCircle,
  faTrash,
  faFolderOpen,
} from "@fortawesome/free-solid-svg-icons";

library.add(
  faTimesCircle,
  faCheckCircle,
  faPenSquare,
  faPlusCircle,
  faTrash,
  faFolderOpen
);

createApp(App)
  .use(store, key)
  .use(router)
  .component("font-awesome-icon", FontAwesomeIcon)
  .mount("#app");

 

제가 만들고 있는 웹 프로젝트에 fontawesome을 세팅했습니다.

먼저 FontAwesomeIconlibrary를 import 시켜줍니다.

import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { library } from "@fortawesome/fontawesome-svg-core";

 

 

다음 내가 사용하고자하는 아이콘을 아래 사이트에서 검색하여 import 시켜줍니다.

Font Awesome 5부터 유료와 무료 버전이 나뉘었는데 저는 무료 버전을 사용하였습니다.

 

 

제가 사용한 faTimesCircle를 예로 들면

사이트에 들어간 후 원하는 아이콘을 검색한 뒤에 클릭해서 상세 페이지로 들어갑니다. 정확한 이름을 몰라도 여러 검색 옵션을 통해 내가 원하는 아이콘을 찾을 수 있습니다. times-circle 아이콘을 사용시 앞에 fa를 붙인 카멜케이스로 이름을 바꾸어 import 시켜주면 됩니다.

import {
  faTimesCircle,
} from "@fortawesome/free-solid-svg-icons";

 

그리고 똑같이 아래에 library에 import시킨 아이콘을 등록시켜줍니다.

import { library } from "@fortawesome/fontawesome-svg-core";

 

자 이제 다 끝났습니다. 참 쉽죠?

사용법은 정말 간단합니다.

원하는 Vue 페이지나 컴포넌트에 다음과 같이 태그를 넣어주면 끝입니다 !

<font-awesome-icon icon="times-cirlce">

 

🔰구현화면

아래는 CodeSandbox로 직접 바로 보실 수 있게 작성하였습니다.