2012-06-11 34 views
4

我想用MVC構建一個簡單的網站,然後將「網頁」和相應的「資產」(js,css,圖像等)渲染爲可稱爲「靜態網站」 。將我的MVC網站轉儲爲靜態文件

換句話說,我不想部署到支持MVC的IIS服務器。我只是想在MVC中構建網站,然後以某種方式將這些頁面解析爲靜態html/css/etc文件,並將該網站上傳到常規的LAMP主機。

有沒有簡單的方法來實現這一點? NuGet包?二進制? MVC的擴展,如可能是一個處理程序加載項,可以在一個單一的通道渲染靜態網站?

回答

0

如果您的站點依賴於數據庫或其他動態源,則幾乎不可能將所有可能的頁面組合轉儲到靜態文件中。另一方面,如果你的站點幾乎是靜態的,把呈現的HTML/JS/CSS源文件保存到文件並上傳到LAMP服務器不會太難。

+0

太好了。一切都是靜態的 - 沒有條件。所以當你說「不會太難」時,你有什麼地方我應該開始? –

+0

是的,您的網絡瀏覽器的*查看源*選項。 –

+0

我澄清了我的問題。 –

2

大約10年前,我用HTTrack網站複印機下載整個網站以供離線使用。也許你可以下載你自己的網站,它爲你提供了很好的靜態網頁層次結構。如果您認爲您的所有網頁都可以通過主頁鏈接,菜單鏈接等獲得,那麼您可以下載大部分網站。基本上你可以谷歌的網絡爬蟲/脫機瀏覽器/網站下載等,並運行它們來完成你的工作。

或者,如果你知道網址的模式,你可以給它下載管理器下載它們。不知道它是否適用於您的網站,但我有時會這樣做。

HTH

+0

那裏有一些好主意。我希望有一個更綜合的方法來做到這一點......但這些想法將作爲一個「計劃B」。乾杯 –

0

如果這樣做的原因是性能相關的,爲什麼不直接使用輸出緩存之類的,這樣的頁面將是非常快的(你可以設置緩存超時很長的一段時間),你不需要運行一些工具來完成轉換,而必須將你的html單獨存儲到源代碼中。

當然,你仍然需要運行IIS/.NET

+0

這不是性能相關。我只想在Visual Studio和MVC框架的幫助下自由生成一個簡單的靜態網站,然後將其展平到一個可以在任何地方託管的靜態網站。 –

+0

看看asp.net網頁,不會幫助將它轉換爲靜態文件我不認爲它是一個更輕量級的框架,適用於更多靜態內容導向的站點和更簡單的站點 –

1

你可以在Pretzel想要的樣子,一個.net靜態站點生成器。

更新:顯然它不適用於ASP.Net項目:Issue #123。它僅支持用於創作內容頁面的Razor語言。

+0

看起來非常酷 –

相關問題