redwoodjs:一個全堆棧jamstack框架
> Redwoodjs是一個專門為複雜應用程序構建的功能強大,自明的全棧框架,可擴展使用React,GraphQL和無服務器功能的Jamstack體系結構。 它通過腳手架驅動的開發提供了流線型,類似鐵軌的開發人員的體驗。 密鑰功能:
紅木類比:像雄偉的紅木樹一樣,框架堅固且可擴展,但其核心仍然令人驚訝地簡單易於瀏覽。 git push
>
本教程將指導您構建基本的CRUD應用程序,展示Redwood的易用性。
(github上可用的示例代碼)。入門:
>先決條件:
項目設置:
yarn create redwood-app my-redwood-app
cd my-redwood-app
yarn redwood dev
(在瀏覽器中打開http://localhost:8910
)git init
,git add .
,git commit -m "Initial commit"
項目結構:
Redwood將您的項目組織到web
>(前端)和api
>(後端)目錄中,簡化了開發過程。目錄包括數據庫架構定義(api
),種子數據(schema.prisma
),功能,GraphQL架構和服務。該目錄包含反應組件,佈局,頁面和靜態資產。
seed.js
web
創建一個數據庫:
,,,
和和Author
>字段創建id
>表。 相應地修改name
,然後:email
>
topic
createdAt
創建遷移:api/db/schema.prisma
yarn redwood db save create authors
yarn rw db up
腳手架crud應用程序:>使用:
Author
這會生成必要的組件,服務和GraphQL架構。 根據需要調整yarn rw g scaffold author
的組件以處理可選字段。
了解Redwood的數據處理:
>
AuthorForm
Redwood使用GraphQl進行數據交互。前端使用Apollo客戶端將請求發送到後端的無服務器功能。 生成的
>使用PRISMA處理數據庫交互。 Redwood的“單元格”簡化了數據獲取和錯誤處理。
測試: authors.sdl.js
authors.js
Redwood集成了開玩笑的單位測試。 使用
結論:
經常詢問問題(為了清晰和簡潔而重新格式化):
是什麼區別了紅木與其他jamstack框架?
無服務器支持嗎? 與靜態反應的比較>反應靜態是靜態位點發生器。 Redwood是一個具有後端功能的全棧框架。
最佳實踐? >保持關注點(數據和UI)的分離,有效地使用無服務器功能,利用單元格進行數據處理,並將PRISMA用於數據庫交互。 >
>錯誤處理? >單元格處理錯誤狀態,為錯誤管理和用戶反饋提供了清晰的機制。
>>數據庫支持Prisma? > Prisma緊密集成,其他數據庫可能需要其他配置。
>身份驗證嗎? 大型應用程序的可擴展性? >入門?
請參閱官方的紅木文檔和教程。>
以上是學習Redwood,一個全堆棧,無服務的Jamstack框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!