번역 자료 / / 2025. 5. 24. 13:17

[supabase 번역] Supabase와 Vue 함께 사용하기 (Use Supabase with Vue)

출처: https://supabase.com/docs/guides/getting-started/quickstarts/vue


Supabase와 Vue를 함께 사용하는 방법을 알아봅니다. Supabase 프로젝트를 생성하고, 데이터베이스에 샘플 데이터를 추가한 뒤, Vue 앱에서 데이터를 쿼리하는 방법을 안내합니다.


1. Supabase 프로젝트 생성하기

database.new에 접속하여 새로운 Supabase 프로젝트를 생성하세요.

프로젝트가 준비되면 Table Editor로 이동하여 새 테이블을 만들고 데이터를 삽입합니다.

또는, 아래 SQL 스니펫을 프로젝트의 SQL Editor에서 실행할 수 있습니다. 이 코드는 instruments 테이블을 생성하고 샘플 데이터를 추가합니다.

-- 테이블 생성
create table instruments (
  id bigint primary key generated always as identity,
  name text not null
);

-- 샘플 데이터 삽입
insert into instruments (name)
values  ('violin'),
        ('viola'),
        ('cello');

alter table instruments enable row level security;

테이블 데이터를 공개적으로 읽을 수 있도록 RLS 정책 추가

create policy "public can read instruments"
on public.instruments
for select to anon
using (true);

2. Vue 앱 생성하기

npm init 명령어를 사용하여 Vue 앱을 생성하세요.

npm init vue@latest my-app

3. Supabase 클라이언트 라이브러리 설치하기

가장 빠른 시작 방법은 supabase-js 클라이언트 라이브러리를 사용하는 것입니다. 이 라이브러리는 Vue 앱에서 Supabase를 편리하게 사용할 수 있도록 도와줍니다.

Vue 앱 디렉터리로 이동한 후, supabase-js를 설치하세요.

cd my-app && npm install @supabase/supabase-js

4. Supabase 환경 변수 선언하기

.env.local 파일을 생성하고, Supabase 연결 변수를 입력하세요.

.env.local 예시:

VITE_SUPABASE_URL=<SUBSTITUTE_SUPABASE_URL>
VITE_SUPABASE_ANON_KEY=<SUBSTITUTE_SUPABASE_ANON_KEY>

5. Supabase 클라이언트 생성하기

Vue 앱의 /src/lib 디렉터리를 만들고, supabaseClient.js 파일을 생성한 뒤 아래 코드를 추가하여 Supabase 클라이언트를 초기화하세요.

import { createClient } from '@supabase/supabase-js'
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY
export const supabase = createClient(supabaseUrl, supabaseAnonKey)

6. 앱에서 데이터 쿼리하기

App.vue 파일의 기존 내용을 아래 코드로 교체하세요.

<script setup>
import { ref, onMounted } from 'vue'
import { supabase } from './lib/supabaseClient'
const instruments = ref([])
async function getInstruments() {
  const { data } = await supabase.from('instruments').select()
  instruments.value = data
}
onMounted(() => {
  getInstruments()
})
</script>
<template>
  <ul>
    <li v-for="instrument in instruments" :key="instrument.id">{{ instrument.name }}</li>
  </ul>
</template>

7. 앱 실행하기

앱을 실행한 뒤, 브라우저에서 http://localhost:5173로 이동하면 악기 목록이 표시됩니다.

npm run dev

출처: https://supabase.com/docs/guides/getting-started/quickstarts/vue

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유