搜尋

是否靜態?

Apr 07, 2025 am 10:31 AM

Static or Not?

靜態網站生成器?我為什麼不用? Kev Quirk 的簡短評論:Kev 使用WordPress:

想在iPad 上寫博客?沒問題。想在手機上寫?也可以。在我不常用機器上寫?只要有瀏覽器,一樣沒問題。

首先,值得一提的是,使用WordPress 並不意味著你不能使用靜態網站生成器。 WordPress 有一個API,這使得在構建過程中調用API 來構建你的網站成為可能。 Gatsby 就是這麼做的,它有一個導出靜態網站的插件,而像Frontity 這樣的項目則模糊了界限。

但我同意Kev 的理由。基於他的所有理由,以及其他無數理由,運行一個WordPress 網站是一個完全可以接受的,而且通常是明智的選擇。我認為這關乎健壯性和功能的完備性。需要電子商務功能? WordPress 有。需要表單?有很多優秀的插件。需要增強CMS 的功能?你可以控制內容類型及其內容。需要身份驗證?這是核心功能。想要出色的編輯體驗? Gutenberg 棒極了。

一次又一次,我快速高效地用WordPress 構建我想要的東西,這讓我感覺高效且強大。但我不想特別談論WordPress;這同樣適用於任何“經典”CMS。 Craft CMS 原生就具有GraphQL API。我們剛剛發布了一個關於Drupal Jamstack 網絡研討會的帖子。

在相對較新的靜態網站世界中,一件小事最終可能變成一段漫長的研究和實施過程,感覺就像你是地球上唯一一個這麼做的人。

話雖如此……

我對靜態網站生成器和Jamstack 世界的看法如何?它們很棒

我認為以這種方式構建網站有很多好處。數據和前端的分離很明智。安全性很高。開發人員體驗也很好,部署預覽和基於Git 的一切都很棒。啟動速度驚人(從CDN 提供HTML 服務是一項壯舉)。

就像經典的服務器端CMS 不會阻止你構建靜態網站一樣,使用靜態網站也不會阻止你做動態的事情——甚至是超級高級的動態事情。 Josh Comeau 有一篇很棒的新文章深入探討了這一點。他構建了一個在瀏覽器中使用React 完成大量工作的漂亮小應用程序,但這並不意味著他仍然不能靜態地提供大部分內容。他稱之為“思維方式的轉變”,指的是你可能認為你需要數據庫調用,但你真的需要嗎?數據庫調用是否已經發生並生成了一個靜態文件?如果沒有,那麼仍然可以靜態生成一部分內容,剩下的部分動態獲取。

我期待著一個世界,在這個世界裡,我們開始真正看到兩全其美。我們盡可能多地靜態生成內容,通過API 獲取我們無法靜態生成的內容,並且在整個過程中不會犧牲最佳工具。

何時選擇靜態網站……

  • 如果你可以,你應該考慮一下,因為它的速度和安全性無與倫比。
  • 如果你正在處理一個Greenfield 項目。
  • 如果你的項目構建自並使用可訪問的API,你可以在構建過程中調用該API,以及在初始HTML 加載後使用它。
  • 如果某個靜態網站生成器看起來非常適合你正在做的事情。
  • 如果成本分析表明它更便宜。
  • 如果某些功能(如構建預覽)對工作流程非常有幫助。

何時選擇服務器端軟件……

  • 如果你需要經典CMS(例如WordPress)的功能,並且從那裡轉向靜態的的技術債務太高。
  • 如果你已經深入參與了一個服務器端渲染項目(Ruby on Rails、Python 等),並且沒有遇到任何現有問題。
  • 如果你團隊在該領域擁有最多的專業知識。
  • 如果成本分析表明它更便宜。
  • 如果沒有針對你想要構建的內容的好的靜態解決方案(例如論壇軟件)。
  • 如果你遇到極端情況,例如數百萬個URL,並且靜態構建時間太長。

選擇靜態網站的錯誤理由……

  • 你需要使用服務器。 (為什麼?你仍然可以在構建時或運行時調用服務器上的API。)
  • 你需要身份驗證。 (為什麼?Jamstack 可以通過JWT 等完美地實現身份驗證。)
  • 你甚至都沒有考慮過Jamstack 方式。

選擇服務器端軟件的錯誤理由……

  • 你甚至都沒有考慮過Jamstack 方式。
  • 因為你認為使用舒適/現有/經典/成熟/受支持良好的工具會阻止你靜態構建任何內容。
  • SEO 之類的問題。 (如果有什麼不同的話,靜態渲染的內容應該表現更好。但是,如果轉向靜態意味著轉向客戶端調用來獲取產品數據等內容,這是可以理解的。)

以上是是否靜態?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
CSS包含:為您的項目選擇正確的方法CSS包含:為您的項目選擇正確的方法May 16, 2025 am 12:02 AM

ThebestmethodforincludingCSSdependsonprojectsizeandcomplexity:1)Forlargerprojects,useexternalCSSforbettermaintainabilityandperformance.2)Forsmallerprojects,internalCSSissuitabletoavoidextraHTTPrequests.Alwaysconsidermaintainabilityandperformancewhenc

這不應該發生:對不可能進行故障排除這不應該發生:對不可能進行故障排除May 15, 2025 am 10:32 AM

解決這些不可能的問題之一,這是您從未想過的其他問題的問題。

@KeyFrames vs CSS過渡:有什麼區別?@KeyFrames vs CSS過渡:有什麼區別?May 14, 2025 am 12:01 AM

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

使用頁面CMS進行靜態站點內容管理使用頁面CMS進行靜態站點內容管理May 13, 2025 am 09:24 AM

我知道,我知道:有大量的內容管理系統選項可用,而我進行了幾個測試,但實際上沒有一個是一個,y'知道嗎?怪異的定價模型,艱難的自定義,有些甚至最終成為整個&

鏈接HTML中CSS文件的最終指南鏈接HTML中CSS文件的最終指南May 13, 2025 am 12:02 AM

鏈接CSS文件到HTML可以通過在HTML的部分使用元素實現。 1)使用標籤鏈接本地CSS文件。 2)多個CSS文件可通過添加多個標籤實現。 3)外部CSS文件使用絕對URL鏈接,如。 4)確保正確使用文件路徑和CSS文件加載順序,優化性能可使用CSS預處理器合併文件。

CSS Flexbox與網格:全面評論CSS Flexbox與網格:全面評論May 12, 2025 am 12:01 AM

選擇Flexbox還是Grid取決於佈局需求:1)Flexbox適用於一維佈局,如導航欄;2)Grid適合二維佈局,如雜誌式佈局。兩者在項目中可結合使用,提升佈局效果。

如何包括CSS文件:方法和最佳實踐如何包括CSS文件:方法和最佳實踐May 11, 2025 am 12:02 AM

包含CSS文件的最佳方法是使用標籤在HTML的部分引入外部CSS文件。 1.使用標籤引入外部CSS文件,如。 2.對於小型調整,可以使用內聯CSS,但應謹慎使用。 3.大型項目可使用CSS預處理器如Sass或Less,通過@import導入其他CSS文件。 4.為了性能,應合併CSS文件並使用CDN,同時使用工具如CSSNano進行壓縮。

Flexbox vs Grid:我應該學習兩者嗎?Flexbox vs Grid:我應該學習兩者嗎?May 10, 2025 am 12:01 AM

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF

mPDF

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

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具