前言
本文是前端工作坊的教學文件,介紹如何使用 Vue 3 和 Express 實作內容管理系統,並搭配 Firebase 實現持久化和認證。
開啟專案
開啟前端專案。
| 1 | cd simple-cms-ui | 
實作認證模組
Ref: https://firebase.google.com/docs/web/setup?hl=zh-tw#add-sdk-and-initialize
安裝依賴套件。
| 1 | npm install firebase | 
新增 src/firebase/app.js 檔,嘗試註冊一個使用者。
| 1 | import { initializeApp } from 'firebase/app'; | 
執行腳本,確認是否有成功建立連線並且註冊一個使用者。
| 1 | node src/firebase/auth.js | 
建立認證模組
新增 src/firebase/app.js 檔,初始化 Firebase 實例。
| 1 | import { initializeApp } from 'firebase/app'; | 
修改 src/firebase/auth.js 檔,封裝並匯出認證的相關方法。
| 1 | import { createUserWithEmailAndPassword, getAuth, signInWithEmailAndPassword } from 'firebase/auth'; | 
建立 src/firebase/index.js 檔,匯出模組。
| 1 | export * as auth from './auth'; | 
提交修改。
| 1 | git add . | 
實作頁面
註冊頁面
建立 src/views/SignUp.vue 檔。
| 1 | <script setup> | 
登入頁面
建立 src/views/SignIn.vue 檔。
| 1 | <script setup> | 
登出頁面
建立 src/views/SignOut.vue 檔。
| 1 | <script setup> | 
首頁
修改 src/views/HomeView.vue 檔,在登入後的首頁顯示使用者的電子信箱。
| 1 | <script setup> | 
隱藏導覽列
修改 src/components/AppHeader.vue 檔,當使用者還沒有登入的時候,將導覽列隱藏。
| 1 | <script setup> | 
提交修改。
| 1 | git add . | 
建立路由守衛
修改 src/router/index.js 檔,限制特定的路由只能在登入時進入。
| 1 | import { auth } from '@/firebase'; | 
提交修改。
| 1 | git add . |