靜態(tài)網(wǎng)站生成器的全面指南
來源:
泊頭市智通澤網(wǎng)絡(luò)科技有限公司
日期:2018-03-24 15:02:31
點擊:6552
屬于:網(wǎng)站建設(shè)
大多數(shù)開發(fā)人員已經(jīng)理解了內(nèi)容管理系統(tǒng)是如何工作的。WordPress的流行已經(jīng)滲透到全球,成為創(chuàng)建任何博客的主要工具。
然而,一個日益增長的趨勢是使用靜態(tài)網(wǎng)站生成器為博客或小型網(wǎng)站。這些動態(tài)編譯器將預(yù)處理代碼轉(zhuǎn)換為靜態(tài)HTML/CSS/JS文件,這些文件可以在沒有數(shù)據(jù)庫的服務(wù)器上進行維護。雖然這可能不是每個站點更好的工作流程,但有許多原因?qū)е麻_發(fā)人員蜂擁至靜態(tài)站點生成器。
在這篇文章中,我想探究一下靜態(tài)網(wǎng)站生成器的深度:它們做了什么,它們是怎么做的,以及為什么你可能想要使用它。如果你只是不理解靜態(tài)站點生成器,那么希望這篇文章能夠闡明這個主題。
靜態(tài)Web的起源。
實際上,web在90年代就開始了純粹的靜態(tài)HTML文件。是的,有更大的應(yīng)用程序運行在Perl或Java上,但是HTML是任何人在網(wǎng)上發(fā)布內(nèi)容的*快方式。
靜態(tài)站點是為了快速交付內(nèi)容。HTML頁面由web瀏覽器直接解析,因此HTTP延遲是加載時間的更大因素。
多年來,網(wǎng)絡(luò)發(fā)展到包括數(shù)據(jù)庫和強大的引擎,如WordPress。這些引擎很快就成為了解決方案,因為它們可以運行強大的應(yīng)用程序,而無需編寫后端代碼。
隨著CMS引擎的發(fā)展,管理加載時間成為一個值得關(guān)注的問題。開發(fā)人員需要擔(dān)心數(shù)據(jù)庫查詢時間和龐大的模板。緩存有幫助,但它很少能提供與靜態(tài)頁面相同的性能。
對靜態(tài)站點的這種固定是在內(nèi)容管理系統(tǒng)對小型項目過于臃腫的時候出現(xiàn)的。幾乎就像web行業(yè)已經(jīng)實現(xiàn)了一個完整的循環(huán),實現(xiàn)了靜態(tài)HTML頁面的好處——但是這次我們有了更強大的工具。
為什么靜態(tài)站點會重新出現(xiàn)?
采用靜態(tài)內(nèi)容的更大原因之一是技術(shù)和瀏覽器功能。使用純JavaScript和外部api來設(shè)置動態(tài)資源比以往任何時候都要容易。
這允許開發(fā)人員創(chuàng)建靜態(tài)頁面,該頁面仍然支持使用swift類型的站點搜索,或者通過Disqus允許用戶評論。如果一個站點不需要運行數(shù)據(jù)庫,那么為什么要運行它呢?
devs的另一個原因是性能?,F(xiàn)代web用戶在各種環(huán)境中瀏覽,從微型智能手機到帶有雙顯示器的*桌面。很難對每個變量進行規(guī)劃,所以更好的方法是盡可能地優(yōu)化。
根據(jù)定義,靜態(tài)網(wǎng)站是用來處理流量的。沒有必要擔(dān)心緩存或數(shù)據(jù)庫節(jié)流可能會減慢加載時間。
綜上所述,對靜態(tài)網(wǎng)站的重新認(rèn)識來自:
改進的web瀏覽器功能
支持預(yù)處理,如Sass/Less和Haml/Jade。
許多免費的第三方解決方案的動態(tài)內(nèi)容。
靜態(tài)站點生成器使網(wǎng)站創(chuàng)建快捷。
優(yōu)勢動態(tài)網(wǎng)站
靜態(tài)網(wǎng)站不依賴于任何數(shù)據(jù)庫。靜態(tài)站點不等待數(shù)據(jù)庫連接,當(dāng)然也不需要處理數(shù)據(jù)庫錯誤。
類似地,靜態(tài)站點不依賴任何后端語言。您不需要一個帶有PHP、Rails、Python、Node或其他任何東西的服務(wù)器,而不是服務(wù)器的核心功能。靜態(tài)站點只加載靜態(tài)內(nèi)容,并*地完成Internet的工作。
同樣考慮到針對動態(tài)網(wǎng)站的安全問題。盡管多年來網(wǎng)絡(luò)安全已經(jīng)有所改善,但惡意的黑客仍然可以通過數(shù)據(jù)庫注入或不恰當(dāng)?shù)牟寮?主題進入WordPress和其他系統(tǒng)。
下面是一些使用靜態(tài)站點而不是動態(tài)站點的優(yōu)點:
與動態(tài)內(nèi)容相比,HTTP請求的加載速度更快。
靜態(tài)網(wǎng)站更安全,漏洞更少(沒有數(shù)據(jù)庫或后端腳本)
靜態(tài)站點生成器為動態(tài)CMS提供了類似的工具(如。模板,泛音,預(yù)處理)
學(xué)習(xí)使用靜態(tài)站點生成器比學(xué)習(xí)一個完整的CMS更容易。
沒有數(shù)據(jù)庫或后端服務(wù)器需求。
靜態(tài)生成缺陷
雖然有很多關(guān)于靜態(tài)站點生成的好東西,但它仍然不完美,當(dāng)然對于每個項目都不是很好。
更大的缺點可能是來自用戶視角的內(nèi)容管理。開發(fā)人員可以編寫一些markdown,生成頁面并將其推送到服務(wù)器。但是非技術(shù)客戶能做到嗎?他們會想學(xué)習(xí)嗎?
這很不幸,因為靜態(tài)生成器的主要目標(biāo)是小網(wǎng)站。
該解決方案是一個靜態(tài)的站點CMS,具有用戶管理功能,如Netlify CMS。
Netlify CMS
另一個考慮是每次需要重新編譯站點時,需要手動運行終端命令。大多數(shù)背包
聯(lián)系方式:手機:13393374114 座機:0317-8280288 QQ:958361464 或掃一掃下面二維碼加我微信:
然而,一個日益增長的趨勢是使用靜態(tài)網(wǎng)站生成器為博客或小型網(wǎng)站。這些動態(tài)編譯器將預(yù)處理代碼轉(zhuǎn)換為靜態(tài)HTML/CSS/JS文件,這些文件可以在沒有數(shù)據(jù)庫的服務(wù)器上進行維護。雖然這可能不是每個站點更好的工作流程,但有許多原因?qū)е麻_發(fā)人員蜂擁至靜態(tài)站點生成器。
在這篇文章中,我想探究一下靜態(tài)網(wǎng)站生成器的深度:它們做了什么,它們是怎么做的,以及為什么你可能想要使用它。如果你只是不理解靜態(tài)站點生成器,那么希望這篇文章能夠闡明這個主題。
靜態(tài)Web的起源。
實際上,web在90年代就開始了純粹的靜態(tài)HTML文件。是的,有更大的應(yīng)用程序運行在Perl或Java上,但是HTML是任何人在網(wǎng)上發(fā)布內(nèi)容的*快方式。
靜態(tài)站點是為了快速交付內(nèi)容。HTML頁面由web瀏覽器直接解析,因此HTTP延遲是加載時間的更大因素。
多年來,網(wǎng)絡(luò)發(fā)展到包括數(shù)據(jù)庫和強大的引擎,如WordPress。這些引擎很快就成為了解決方案,因為它們可以運行強大的應(yīng)用程序,而無需編寫后端代碼。
隨著CMS引擎的發(fā)展,管理加載時間成為一個值得關(guān)注的問題。開發(fā)人員需要擔(dān)心數(shù)據(jù)庫查詢時間和龐大的模板。緩存有幫助,但它很少能提供與靜態(tài)頁面相同的性能。
對靜態(tài)站點的這種固定是在內(nèi)容管理系統(tǒng)對小型項目過于臃腫的時候出現(xiàn)的。幾乎就像web行業(yè)已經(jīng)實現(xiàn)了一個完整的循環(huán),實現(xiàn)了靜態(tài)HTML頁面的好處——但是這次我們有了更強大的工具。
為什么靜態(tài)站點會重新出現(xiàn)?
采用靜態(tài)內(nèi)容的更大原因之一是技術(shù)和瀏覽器功能。使用純JavaScript和外部api來設(shè)置動態(tài)資源比以往任何時候都要容易。
這允許開發(fā)人員創(chuàng)建靜態(tài)頁面,該頁面仍然支持使用swift類型的站點搜索,或者通過Disqus允許用戶評論。如果一個站點不需要運行數(shù)據(jù)庫,那么為什么要運行它呢?
devs的另一個原因是性能?,F(xiàn)代web用戶在各種環(huán)境中瀏覽,從微型智能手機到帶有雙顯示器的*桌面。很難對每個變量進行規(guī)劃,所以更好的方法是盡可能地優(yōu)化。
根據(jù)定義,靜態(tài)網(wǎng)站是用來處理流量的。沒有必要擔(dān)心緩存或數(shù)據(jù)庫節(jié)流可能會減慢加載時間。
綜上所述,對靜態(tài)網(wǎng)站的重新認(rèn)識來自:
改進的web瀏覽器功能
支持預(yù)處理,如Sass/Less和Haml/Jade。
許多免費的第三方解決方案的動態(tài)內(nèi)容。
靜態(tài)站點生成器使網(wǎng)站創(chuàng)建快捷。
優(yōu)勢動態(tài)網(wǎng)站
靜態(tài)網(wǎng)站不依賴于任何數(shù)據(jù)庫。靜態(tài)站點不等待數(shù)據(jù)庫連接,當(dāng)然也不需要處理數(shù)據(jù)庫錯誤。
類似地,靜態(tài)站點不依賴任何后端語言。您不需要一個帶有PHP、Rails、Python、Node或其他任何東西的服務(wù)器,而不是服務(wù)器的核心功能。靜態(tài)站點只加載靜態(tài)內(nèi)容,并*地完成Internet的工作。
同樣考慮到針對動態(tài)網(wǎng)站的安全問題。盡管多年來網(wǎng)絡(luò)安全已經(jīng)有所改善,但惡意的黑客仍然可以通過數(shù)據(jù)庫注入或不恰當(dāng)?shù)牟寮?主題進入WordPress和其他系統(tǒng)。
下面是一些使用靜態(tài)站點而不是動態(tài)站點的優(yōu)點:
與動態(tài)內(nèi)容相比,HTTP請求的加載速度更快。
靜態(tài)網(wǎng)站更安全,漏洞更少(沒有數(shù)據(jù)庫或后端腳本)
靜態(tài)站點生成器為動態(tài)CMS提供了類似的工具(如。模板,泛音,預(yù)處理)
學(xué)習(xí)使用靜態(tài)站點生成器比學(xué)習(xí)一個完整的CMS更容易。
沒有數(shù)據(jù)庫或后端服務(wù)器需求。
靜態(tài)生成缺陷
雖然有很多關(guān)于靜態(tài)站點生成的好東西,但它仍然不完美,當(dāng)然對于每個項目都不是很好。
更大的缺點可能是來自用戶視角的內(nèi)容管理。開發(fā)人員可以編寫一些markdown,生成頁面并將其推送到服務(wù)器。但是非技術(shù)客戶能做到嗎?他們會想學(xué)習(xí)嗎?
這很不幸,因為靜態(tài)生成器的主要目標(biāo)是小網(wǎng)站。
該解決方案是一個靜態(tài)的站點CMS,具有用戶管理功能,如Netlify CMS。
Netlify CMS
另一個考慮是每次需要重新編譯站點時,需要手動運行終端命令。大多數(shù)背包
標(biāo)簽:
本文來源:智通澤軟件,轉(zhuǎn)載請注明出處!如果需要泊頭網(wǎng)站建設(shè) 泊頭小程序開發(fā) 泊頭微信開發(fā) 泊頭APP開發(fā)請聯(lián)系封經(jīng)理,我們將提供上門服務(wù)!聯(lián)系方式:手機:13393374114 座機:0317-8280288 QQ:958361464 或掃一掃下面二維碼加我微信:
