2017-10-15 149 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},我只是在控制器中输入。

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

谢谢