由於業務需要,筆者剛進到一個項目組,由於沒有美工,前台采用ExtJs + MVC 2 ,迭代1的項目做的還算比較順利,至少在本機上是運行沒有任何問題的,
但是為了給客戶演示,我興高采烈的將網站部署在IIS 上,結果總是提示'Ext'未定義'。通過Google瀏覽器,按了F12調試,發現時ExtJs路徑引用問題,在
vs里運行正常,怎么發布之后,就出現這種情況? 仔細查看路徑,是相對路徑,我想這就是問題的症結所在了。
於是大膽Google,手氣不錯,還是有關於MVC部署的解決方案,但是試過了N多次之后,仍然毫無改觀。
由於未能解決,項目進度壓身,項目組開始打算換框架,他們希望采用WCF,放棄NVC——因為這樣就避免了相對路徑,他們有現成的成功案例。
這讓我情何以堪啊?辛辛苦苦干了二十多天的心血,轉到WCF,代碼改的也不少啊,實話實說,.NET NVC 用着真舒服!
一邊開始轉項目,一邊又對MVC不放棄,果然功夫不負有心人,終於有了比較滿意的解決方案!
以下是一些具體記錄,願與大家分享,希望對遇到類似問題的后來者有一點幫助,反正我是走了不少彎路,呵呵!
我的項目目錄結構如下:
再看 ExtJs的位置
以下是最初對ExtJS 的引用路徑,這種引用時相對路徑,在VS2010調試沒有問題,部署在IIS5.0和IIS6.0均提示'Ext未定義'
這樣並不能部署成功,使用Google瀏覽器后,F12調試發現時extjs、css之類的路徑引用問題。
以下是參考了相關資料並且實踐成功的解決方案,
<%=Url.Content("") %>
這樣我們就可以在引用路徑和js中更改url(或src)
於是修改如下
好了,說道這里是不是太羅嗦了,讓我們來一步一步部署吧!
第一步。請安裝IIS,這個省略,我本機安裝的是IIS5.1 版本。
當您安裝IIS成功后,在控制面板——管理工具中會出現
第二步。發布網站,
打開你的項目,請確保你的重新生成是成功的。
點擊項目,右鍵——》發布,如下圖,
按上面的填好,單擊"發布",看vs下面菜單欄提示,會提示是否發布成功。
發布成功后,打開C:\Inetpub\wwwroot 你會看到你發布的網站文件,這里是Test
第三步,打開IIS
默認網站下會出現,Test虛擬目錄,基本上大功告成了。
最后,在瀏覽器中輸入地址:http://localhost/Test 即可
效果如下
轉載請注明出處:http://www.cnblogs.com/lucky_hu/archive/2012/08/04/2622464.html
作者:Good_Luck