2017-10-15 148 views
0

我最近從.Net core 2.0 SPA模板生成了一個新的Angular SPA項目。我是Angular/Typescript和HMR的新手,我認爲這可能是問題的一部分。.Net Core 2.0 Angular SPA路由

大部分情況一直在工作一段時間,直到最近我發現如果我使用F5刷新任何頁面或手動輸入URL,我會看到一個白色頁面,上面寫着「Value」字樣。基本上,我能夠路由我的網頁的唯一方法是單擊我的導航欄上的鏈接。我有MCV的觀點,我想去管理用戶,產品和角色。我到達那裏的方式是通過手動輸入URL示例

我鍵入'localhost:53212/roles',然後獲取該值頁面。另外,在任何SPA視圖中,如果我點擊刷新f5,我會得到與價值相同的白頁。在使用chrome調試器中的值檢查頁面之後,我注意到它包裹在'pre'標籤中,當我執行搜索時,在Vendor.js文件中找到該標籤,當我導航到'pre'的所有實例時,此代碼

/** 

*將URI分解爲其組成部分的正則表達式。 * * {\ @link http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#RFC2234}說 *作爲「第一匹配贏」的算法是相同的「貪婪」 *消歧由POSIX正則表達式使用的方法,它是天然的和 *普遍使用正則表達式用於解析URI引用的潛在五個組件。 * *以下行是用於將 *格式良好的URI引用分解爲其組件的正則表達式。 * *

 
* ^(([^:/?#]+):)?(//([^/?#]))?([^?#])(\?([^#]))?(#(.))? 
* 12   3 4   5  6 7  8 9 
*
* *以上第二行中的數字僅用於輔助可讀性;它們 *表示每個子表達的參考點(即,每個配對的 *括號)。我們將與subexpression匹配的值稱爲$。 *例如,上面的表達式匹配到 *
 
*  http://www.ics.uci.edu/pub/ietf/uri/#Related 
*
*導致以下子表達式匹配: *
 
* $1 = http: 
* $2 = http 
* $3 = //www.ics.uci.edu 
* $4 = www.ics.uci.edu 
* $5 = /pub/ietf/uri/ 
* $6 = 
* $7 = 
* $8 = #Related 
* $9 = Related 
*
*其中指示組件不存在,因爲是 *情況下在上述例子中所述查詢組件。因此,我們可以通過 *確定這五個組件的值爲 *
 
* scheme = $2 
* authority = $4 
* path  = $5 
* query  = $7 
* fragment = $9 
*
* *正則表達式已被稍微修改以暴露 * userInfo,domain和port與權限分開。 *修改後的版本收益率 *
 
* $1 = http    scheme 
* $2 =  userInfo -\ 
* $3 = www.ics.uci.edu domain  | authority 
* $4 =  port  -/ 
* $5 = /pub/ietf/uri/ path 
* $6 =  query without ? 
* $7 = Related   fragment without # 
*

我真的不明白這一切意味着什麼,或者它是否相關。我也認爲這可能是HMR,但又是真的新的這一點,並不明白爲什麼刷新或手動路由會導致問題

感謝您的任何幫助,我可以提供更多的信息根據需要,只是不想淹沒信息,甚至不在正確的軌道上。

回答

0

我能夠解決這個問題。熱模塊重新加載影響F5刷新問題。如果我禁用了HMR,那麼F5刷新工作。出於某種原因,儘管HMR影響了MVC的觀點,但事實並非如此,簡單的解決方案在下面。

至於MVC部分的觀點,我沒有適當的路線。配置的路由是{controller}/{action},我只是在控制器中輸入。

如果其他人有一些洞察力,我很樂意聽到它!

謝謝