Laravel怎麼用Typescript?以下這篇文章為大家介紹一下Laravel使用Typescript的方法,希望對大家有幫助!
越來越多的PHPer,更具體地說,Laravel 開發人員已經開始編寫更強類型的程式碼,而全端開發人員往往不會將相同的實踐應用於他們的前端程式碼。其中,TypeScript 被認為是編寫前端元件的一種「不同」方式。 【相關推薦:laravel影片教學】
大多數對TypeScript 的誤解,就是認為它對後端開發人員來說太複雜了,而且只會膨脹程式碼規模,而沒有提供任何額外的價值。
實際上,TypeScript 並不會強迫你宣告類型。這是重要的部分:TypeScript 是一個 JavaScript 超集,可以讓你在上面添加東西,但任何有效的 JS 也是有效的 TS。
這樣做的實際影響是,你可以將檔案從.js
重新命名為.ts
,並逐漸新增類型或開始在新檔案中使用類型。你的程式碼庫不必達到 100% 的類型覆蓋率。你可以根據自己的選擇使用 TypeScript。
為什麼使用 TypeScript
TypeScript 提供了可選的靜態類型,它允許你在編譯階段建立和驗證你的程式碼。它還帶來了 IDE 自動完成和驗證支援以及程式碼導航功能。簡而言之,TypeScript 增強了程式碼的可讀性並改進了調試過程。
為你的 Laravel 專案添加 TypeScript 支援非常簡單,只需幾分鐘,但可以提升你的前端體驗。讓我們用 Vue 3 重新安裝 Laravel Breeze 來回顧一下這個過程。
1. 安裝依賴
讓我們從安裝 TypeScript 編譯器和對應的 Webpack 載入器開始。
npm install ts-loader typescript --save-dev # 或者 yarn add ts-loader typescript -D
2. 設定 TypeScript 設定
TypeScript 編譯器需要一個包含所需選項的設定檔。適當的 IDE 自動完成也是可取的。
tsconfig.json
{ "compilerOptions": { "target": "es5", "module": "es2020", "moduleResolution": "node", "baseUrl": "./", "strict": true, // Enable strict type-checking options "skipLibCheck": true, // Skip type checking of declaration files "noImplicitAny": false // Bypass raising errors on `any` type }, "include": ["resources/js/**/*"] // 前端路径模式 }
3. 設定Laravel Mix
初始Laravel 安裝帶有一個JavaScript 入口範例,需要轉換為TypeScript。您只需將 .js
重新命名為 .ts
。
-resources/js/app.js +resources/js/app.ts
然後,讓 Mix 知道它應該將 JavaScript 程式碼作為 TypeScript 處理。 Laravel Mix 隨附內建的 TypeScript 支援。
webpack.mix.js
-mix.js('resources/js/app.js', 'public/js') +mix.ts('resources/js/app.ts', 'public/js')
你還需要告訴編譯器和 IDE,元件的程式碼必須被視為 TypeScript。將 lang="ts"
部分附加到元件腳本部分。
<script lang="ts"> import { defineComponent } from "@vue/runtime-core"; export default defineComponent({ ... }); </script>
你都準備好了吧!你可以繼續按照以前的方式編寫程式碼,並利用一些 TypeScript 功能並改善你的前端體驗。
範例用法
TypeScript 允許你使用簡單類型和複雜結構來類型提示變數和方法。由於我們主要專注於與後端交互,讓我們來看看與模型交互的範例。
讓我們建立一個包含所有必要類型宣告的檔案 —— resources/js/types.d.ts
。
假設你有一個模型用戶,你可以從前端與之互動。這是預設使用者模型的基本 TypeScript 表示。它描述了一個物件可以具有哪些屬性以及這些屬性應該是什麼類型。
resources/js/types.d.js
declare interface User { id: number; name: string; email: string; }
現在,你可以在分配變數或從方法傳回值時使用此接口。
let user = <User>{ id: 1, name: 'Taylor Otwell' } function getUser(): User { ... }
因此,當你存取 user
變數時,你的 IDE 會建議對應的物件屬性。它還會在你編譯程式碼之前讓你知道何時出現類型錯誤。
為所有模型編寫介面並使其與後端程式碼保持同步需要額外的時間。你可能需要考慮使用 laravel-typescript 擴展,它可以讓你將 Laravel 模型轉換為 TypeScript 聲明,並使它們與你的遷移保持同步。
原文網址:https://laravel-news.com/typescript-laravel
翻譯網址:https://learnku.com/laravel/t/67586
更多程式相關知識,請造訪:程式設計影片! !
以上是淺析Laravel怎麼用Typescript的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Laravel在後端開發中的核心功能包括路由系統、EloquentORM、遷移功能、緩存系統和隊列系統。 1.路由系統簡化了URL映射,提高了代碼組織和維護性。 2.EloquentORM提供了面向對象的數據操作,提升了開發效率。 3.遷移功能通過版本控制管理數據庫結構,確保一致性。 4.緩存系統減少數據庫查詢,提升響應速度。 5.隊列系統有效處理大規模數據,避免阻塞用戶請求,提升整體性能。

Laravel在後端開發中表現強大,通過EloquentORM簡化數據庫操作,控制器和服務類處理業務邏輯,並提供隊列、事件等功能。 1)EloquentORM通過模型映射數據庫表,簡化查詢。 2)業務邏輯在控制器和服務類中處理,提高模塊化和可維護性。 3)其他功能如隊列系統幫助處理複雜需求。

選擇Laravel開發項目是因為其靈活性和強大功能適應不同規模和復雜度的需求。 Laravel提供路由系統、EloquentORM、Artisan命令行等功能,支持從簡單博客到復雜企業級系統的開發。

Laravel和Python在開發環境和生態系統上的對比如下:1.Laravel的開發環境簡單,僅需PHP和Composer,提供了豐富的擴展包如LaravelForge,但擴展包維護可能不及時。 2.Python的開發環境也簡單,僅需Python和pip,生態系統龐大,涵蓋多個領域,但版本和依賴管理可能複雜。

Laravel是如何在後端邏輯中發揮作用的?它通過路由系統、EloquentORM、認證與授權、事件與監聽器以及性能優化來簡化和增強後端開發。 1.路由系統允許定義URL結構和請求處理邏輯。 2.EloquentORM簡化數據庫交互。 3.認證與授權系統便於用戶管理。 4.事件與監聽器實現松耦合代碼結構。 5.性能優化通過緩存和隊列提高應用效率。

Laravel受歡迎的原因包括其簡化開發過程、提供愉快的開發環境和豐富的功能。 1)它吸收了RubyonRails的設計理念,結合PHP的靈活性。 2)提供瞭如EloquentORM、Blade模板引擎等工具,提高開發效率。 3)其MVC架構和依賴注入機制使代碼更加模塊化和可測試。 4)提供了強大的調試工具和性能優化方法,如緩存系統和最佳實踐。

Django和Laravel都是全棧框架,Django適合Python開發者和復雜業務邏輯,Laravel適合PHP開發者和優雅語法。 1.Django基於Python,遵循“電池齊全”哲學,適合快速開發和高並發。 2.Laravel基於PHP,強調開發者體驗,適合小型到中型項目。

PHP和Laravel不是直接可比的,因為Laravel是基於PHP的框架。 1.PHP適合小型項目或快速原型開發,因其簡單直接。 2.Laravel適合大型項目或高效開發,因其提供豐富功能和工具,但學習曲線較陡,性能可能不如純PHP。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。