iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
佛心分享-IT 人自學之術

後端小白自學 Laravel系列 第 13

第 13 天:前端 Vue3 搭配後端 Laravel 9.x

  • 分享至 

  • xImage
  •  

一直以來都是用 bland.php 做使用者介面操作,今天要來正式做前端改用框架與後端橋接的流程,以下是相關的流程重點並記錄實作過程。

  1. 安裝和設定 Vite:配置 Vite 以支援 Vue。
  2. 建立和設定 Vue 元件:在 resources/js 目錄下建立 Vue 元件、Vue Router 設定檔和初始化 Vue 應用。
  3. 更新 Blade 模板:使用 @vite 指令引入建置後的 Vue 應用程式。
  4. 運行開發伺服器:使用 npm run dev 啟動 Vite 開發伺服器。

安裝 Vite (選擇自己的前端框架)


參考文章:魔法編譯器 - vite

使用 Vite 安裝 vue.js

npm install --save-dev vite @vitejs/plugin-vue
npm install vue@next vue-router@next

配置 Vite


建立 Vite 設定檔 vite.config.js 在專案根目錄下:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
  plugins: [vue()],
  server: {
    proxy: {
      '/': 'http://localhost', // 用於代理 API 請求
    },
  },
});

更新 resources/js 文件


  1. 建立 Vue 元件
    resources/js 目錄下建立 Vue 元件檔。
    例如,建立 HelloWorld.vueHome.vueAbout.vue 檔案。

    <template>
      <div>
        <h1>Hello, {{ name }}!</h1>
      </div>
    </template>
    
    <script setup>
    import { defineProps } from 'vue';
    
    const props = defineProps({
        name: {
          type: String,
          default: 'Vue'
        }
    });
    </script>
    
    <style scoped>
    h1 {
      color: #42b983;
    }
    </style>
    
  2. 配置 Vue Router
    resources/js 目錄下建立 Vue Router 設定檔 resources/js/router/index.js

    import { createRouter, createWebHistory } from 'vue-router';
    import Home from '../components/Home.vue';
    import About from '../components/About.vue';
    
    const routes = [
      { path: '/', component: Home },
      { path: '/about', component: About }
    ];
    
    const router = createRouter({
      history: createWebHistory(),
      routes
    });
    
    export default router;
    
  3. 初始化 Vue 應用
    resources/js 目錄下建立一個入口檔案 resources/js/app.js 初始化 Vue 應用:

    import { createApp } from 'vue';
    import App from './App.vue';
    import router from './router';
    
    const app = createApp(App);
    app.use(router);
    app.mount('#app');
    
  4. 建立主 Vue 元件
    resources/js 目錄下建立一個主 Vue 元件檔 resources/js/App.vue

    <template>
      <router-view></router-view>
    </template>
    

配置 Blade 模板


resources/views 目錄下建立一個 Blade 文件 resources/views/app.blade.php,用於掛載 Vue 應用

<!DOCTYPE html>
<html>
<head>
    <title>Laravel with Vue 3 and Vite</title>
    @vite('resources/js/app.js')
</head>
<body>
    <div id="app"></div>
</body>
</html>

設定路由


routes/web.php 文件中加入一個路由來顯示 Blade 模板

Route::get('/', function () {
    return view('app');
});

啟動開發伺服器


執行 npm run dev 命令啟動 Vite 開發伺服器


上一篇
第 12 天:用戶授權
下一篇
第 14 天:RESTful API 基礎
系列文
後端小白自學 Laravel30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言