2011-11-15 196 views
6

我最近被要求使用靜態網站生成器創建一個網頁,如Jekyll。我的問題是這樣的:靜態網站生成器

  • 這與使用HTML創建網站或在Visual Studio中將頁面寫爲ASP.net項目有何不同?
  • 它如何在服務器上工作?
  • 我應該有什麼擔憂?

我是一個.net的傢伙,所以我希望能夠在視覺工作室中創建它,如果可能的話。

+2

code52已經創建了一個名爲項目[_pretzel_ ](https://github.com/Code52/pretzel)這是一個.NET靜態網站生成器。 –

回答

6

這裏有一些優點和缺點是來到我的腦海:

優勢

  • 可以部署在每臺服務器上,因爲它只是靜態的HTML
  • 有諧音,即可以與正常的html相反,你必須編碼/複製粘貼每一件東西
  • 你仍然可以在IDE中編碼
  • 非開發人員可以編輯代碼(有時至少)

缺點

  • 模板語言是有限的,有時有點尷尬/需要習慣
  • 你有什麼新的在你的環境中,這有額外的成本(不止一個開發人員需要知道如何構建網站,...)

如果你知道你目前工具包,並且您在服務器上託管另一個ASP.net項目時沒有問題,我不認爲需要在工具鏈中引入其他工具。

如果您想做某些事情,用戶可以在其中生成內容 - 就像github在github頁面上做的那樣 - 您可能會考慮這一點。

至於Jekyll,我們在一個項目上嘗試過,並且是開發者,他們喜歡編碼,我們很早就遇到了它的侷限性。你可以解決這個問題,但是如果你知道一門編程語言,你會更快。這仍然令人着迷,我們能夠在僅使用Jekyll的情況下走多遠

0

ASP.NET頁面存在於頁面的整個生命週期中,並且能夠處理請求和會話上下文。看到這篇文章asp.net page life cycle HTML頁面是靜態的,你不能訪問服務器上的任何變量。

我建議你按照循序漸進這個鏈接去才明白如何開發ASP.NET http://www.asp.net/get-started

我希望幫助

維森特

+0

我不瞭解其他服務器,但是使用apache,可以在HTML文件中使用變量。這是通過服務器端包含的。請參閱:「http://httpd.apache.org/docs/current/mod/mod_include.html」。我意識到這個問題是指向一個微軟的堆棧,但我認爲值得一提的是,有些情況下HTML可以使用變量。即使它在不同的服務器上。 –

+0

@Vicente Jr你誤解了這個問題。靜態站點生成器通常用於很少發生更改的內容。例如,假設我有一個小企業,我想要一個包含基本信息的網站(但不要在網站上出售任何東西)。假設我有一個_Employees_頁面。那麼,_Employees_可能會在網站的整個生命週期內發生變化,所以它應該是動態的(依靠數據庫)。但是,它不會每秒/分鐘/小時/天改變。新員工 - >重新生成網站。 –

相關問題