合併Vue和Laravel

更新於 2024/12/17閱讀時間約 8 分鐘

這份指南提供了如何將 Vue.jsLaravel 進行集成的詳細步驟,並涵蓋了開發環境的設置、所需的工具、以及相關的安裝和配置方法。下面是步驟的概述與要點,對於有意使用這些技術的開發者將有很大幫助。

必要條件

  1. XAMPP(PHP 8.1 以上) - 用於提供本地開發環境。
  2. Node.js(LTS版本) - 用於支持前端的 JavaScript 工具和框架。

開發工具

  • Chrome瀏覽器,並安裝 Vue.js Devtools
  • VSCode 開發工具,建議安裝以下擴展:
    • Vue 3 Snippets
    • Inertia.js
    • Vue Language Features (Volar)

建立專案及安裝套件

1. Laravel 專案建立

composer create-project laravel/laravel:^10.* <專案名稱>

2. 安裝 PHP 套件

  • Laravel Breeze 認證套件
    composer require laravel/breeze ^1.29 --dev

  • reliese/laravel 自動生成Models套件
    composer require reliese/laravel --dev

  • PHP_CodeSniffer 程式碼規範套件
    composer require "squizlabs/php_codesniffer" --dev

  • Laravel Breeze的Vue及SSR版本
    php artisan breeze:install vue --ssr

3. 安裝 ESLint

npm init @eslint/config

選擇設置選項後,安裝 ESLint。

4. 安裝前端 JavaScript 套件

這些套件包括:

  • Vite 的 Eslint 插件
  • 無障礙檢查插件
  • 打包分析插件
  • Vue 組件自動引用插件
  • Pinia 狀態管理等
npm install vite-plugin-eslint eslint-plugin-vuejs-accessibility rollup-plugin-visualizer unplugin-vue-components unplugin-auto-import -D
npm install tailwind-merge pinia

環境設置

1. 發布配置

  • Inertia SSR 配置檔
    php artisan vendor:publish --provider="Inertia\ServiceProvider"

  • 自動生成模型配置檔
    php artisan vendor:publish --tag=reliese-models

  • 清除快取:
    php artisan config:clear

2. 修改配置文件

config/models.php

  • snake_attributes 設置為 false,以及將縮排設置為4個空格。

config/inertia.php

  • 設置 SSR 並配置 SSR 伺服器端口和開關。

.env.env.example

  • 增加 SSR 端口和開關設置。
VITE_PUSHER_SSR_PORT=13714
SSR_ENABLED=false

編輯與修改文件

vite.config.js

設定 Vue 和其他前端工具,並且引入相關插件:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';
import eslintPlugin from 'vite-plugin-eslint';
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';

export default defineConfig({
plugins: [
laravel({ input: 'resources/js/app.js', ssr: 'resources/js/ssr.js', refresh: true }),
vue(),
eslintPlugin(),
AutoImport({
imports: ['vue'],
dirs: ['resources/js/Store/**'],
vueTemplate: true,
eslintrc: { enabled: true },
}),
Components({ dirs: ['resources/js/Components'] }),
],
});

app.jsssr.js

resources/js/app.jsresources/js/ssr.js 中進行設置,特別是引入了 Pinia 狀態管理,並設置了布局。

Laravel 中新增 PHP 共用函數

app/Http/Helpers.php 中加入固定格式的回應函數:

function rtFormat($data = [], $code = 1, $message = '執行成功')
{
$status = [0, 1];
if (!is_int($code) || !in_array($code, $status) || !is_string($message)) {
throw new Exception('rt_format函式傳入參數錯誤');
}

$format = (object)[
'rt_code' => $code,
'rt_message' => $message,
'rt_data' => $data,
];

return $format;
}

單元測試

修改 phpunit.xml,設置相關選項,例如停止在失敗或錯誤時的繼續測試:

<phpunit stopOnFailure="true" stopOnError="true">
<php>
<env name="DB_DATABASE" value="test"/>
</php>
</phpunit>

結語

這份指南詳細描述了如何設置與配置 Vue.js 和 Laravel 的集成專案,並且提供了相關套件安裝、配置文件修改的步驟。對於希望結合前後端技術的開發者,這些步驟可以幫助迅速搭建開發環境。接下來會介紹Laravel 合併應用。


對於這類的撰寫方式習慣嗎?歡迎多多進行良性的知識交流喔!目前是在學習階段,大家有不同看法的話歡迎進行良性的知識交流!

 

大家可以考慮多多分享文章和考慮訂閱沙龍方案或贊助等喔!不過請注意不要違反著作權等行為。當然決定權都在於您,不會干涉您的任何決定。

 

提醒,文章僅供正當的知識參考,文章不負任何責任。

avatar-img
0會員
18內容數
有軟體開發相關文章。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿棋的沙龍 的其他內容
在本篇文章中,我們將深入探討如何在 Laravel 中建立關聯資料、使用 Eloquent ORM 操作資料庫,並將資料傳遞到前端視圖。這篇文章將涵蓋從資料庫遷移、Seeder、關聯模型的建立,到資料傳遞的完整流程,並介紹如何在前端展示資料。
在這篇文章中,我們將介紹如何使用 Laravel 的 MVC(模型-視圖-控制器)架構來處理資料的創建、更新、刪除操作,並展示如何使用外鍵連接其他資料表。我們將從前端發送請求到後端,並演示如何在 Controller 中處理這些請求來操作資料。
在 Laravel 框架中,MVC(模型-視圖-控制器)架構是一個常見的設計模式,能有效地幫助我們組織程式碼,將應用的資料邏輯、業務邏輯和視圖展示分開。本文將介紹如何使用 Laravel 的 MVC 架構來創建、讀取、更新和刪除資料(即 CRUD 操作),並將資料顯示到前端頁面上。
在 Laravel 中,操作資料庫的核心是透過 Model 來進行的。Model 不僅負責與資料表進行溝通,它還提供了一個簡單而直觀的方式來進行資料庫的增、刪、改、查等操作。今天,將學習如何建立 Model,創建資料表,並且如何在路由中進行資料操作。
在進行 Laravel 開發時,資料庫管理是開發過程中的重要環節,而 Laravel 的遷移(Migrations)提供了一個簡單而強大的方法來創建、修改和管理資料庫結構。本文將引導如何使用 Laravel 的資料庫遷移功能,並透過範例教學,幫助你掌握如何創建資料表、修改欄位、處理資料表關聯等操作。
今天,我們將簡單介紹 Git 和 GitHub,並深入了解如何使用 Git 解決衝突。此外,還會介紹常見的 API 方法 和 Laravel 中的類語法,讓你更好地理解程式碼的運作方式。
在本篇文章中,我們將深入探討如何在 Laravel 中建立關聯資料、使用 Eloquent ORM 操作資料庫,並將資料傳遞到前端視圖。這篇文章將涵蓋從資料庫遷移、Seeder、關聯模型的建立,到資料傳遞的完整流程,並介紹如何在前端展示資料。
在這篇文章中,我們將介紹如何使用 Laravel 的 MVC(模型-視圖-控制器)架構來處理資料的創建、更新、刪除操作,並展示如何使用外鍵連接其他資料表。我們將從前端發送請求到後端,並演示如何在 Controller 中處理這些請求來操作資料。
在 Laravel 框架中,MVC(模型-視圖-控制器)架構是一個常見的設計模式,能有效地幫助我們組織程式碼,將應用的資料邏輯、業務邏輯和視圖展示分開。本文將介紹如何使用 Laravel 的 MVC 架構來創建、讀取、更新和刪除資料(即 CRUD 操作),並將資料顯示到前端頁面上。
在 Laravel 中,操作資料庫的核心是透過 Model 來進行的。Model 不僅負責與資料表進行溝通,它還提供了一個簡單而直觀的方式來進行資料庫的增、刪、改、查等操作。今天,將學習如何建立 Model,創建資料表,並且如何在路由中進行資料操作。
在進行 Laravel 開發時,資料庫管理是開發過程中的重要環節,而 Laravel 的遷移(Migrations)提供了一個簡單而強大的方法來創建、修改和管理資料庫結構。本文將引導如何使用 Laravel 的資料庫遷移功能,並透過範例教學,幫助你掌握如何創建資料表、修改欄位、處理資料表關聯等操作。
今天,我們將簡單介紹 Git 和 GitHub,並深入了解如何使用 Git 解決衝突。此外,還會介紹常見的 API 方法 和 Laravel 中的類語法,讓你更好地理解程式碼的運作方式。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
如何在 Vite 專案中安裝和設置 TypeScript 及路徑別名的步驟,包括安裝必要的依賴、配置 vite.config.js、tsconfig.json 的設置,及如何創建類型聲明文件來正確識別 .vue 文件。
Thumbnail
各位使用 Vue.js 開發的小夥伴們,你們都怎麼實作父子層組件資料的雙向綁定呢?如果你還在寫 prop + emit 的話,不妨進來看看吧。
Thumbnail
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
# 簡介 身為一位專注於 Vue.js 的前端開發者,這是我第一次嘗試構建 Flutter 網頁應用。讓我們開始吧! ## 第一次嘗試 ### 第一步:創建一個 Flutter 應用 首先,通過運行以下命令來創建一個新的 Flutter 項目: ```sh flutter
Thumbnail
進入Lua的第一步! 安裝和執行
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
平常我們在 html 上常看到的例如 v-for、v-model 等等... 也是VUE已經幫我們定義好的指令,而這次我們可以依這自己的需求來建立。 此功能屬於較進階的功能,因此實戰中會比較少見,市面上還是有不少完善的套件能達到同樣效果,建議可以先往這方面察找
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
如何在 Vite 專案中安裝和設置 TypeScript 及路徑別名的步驟,包括安裝必要的依賴、配置 vite.config.js、tsconfig.json 的設置,及如何創建類型聲明文件來正確識別 .vue 文件。
Thumbnail
各位使用 Vue.js 開發的小夥伴們,你們都怎麼實作父子層組件資料的雙向綁定呢?如果你還在寫 prop + emit 的話,不妨進來看看吧。
Thumbnail
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
# 簡介 身為一位專注於 Vue.js 的前端開發者,這是我第一次嘗試構建 Flutter 網頁應用。讓我們開始吧! ## 第一次嘗試 ### 第一步:創建一個 Flutter 應用 首先,通過運行以下命令來創建一個新的 Flutter 項目: ```sh flutter
Thumbnail
進入Lua的第一步! 安裝和執行
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
平常我們在 html 上常看到的例如 v-for、v-model 等等... 也是VUE已經幫我們定義好的指令,而這次我們可以依這自己的需求來建立。 此功能屬於較進階的功能,因此實戰中會比較少見,市面上還是有不少完善的套件能達到同樣效果,建議可以先往這方面察找