我最近从.Net core 2.0 SPA模板生成了一个新的Angular SPA项目。我是Angular / Typescript和HMR的新手,我认为这可能是问题的一部分。
大多数情况下,所有内容都已经工作了一段时间,直到最近我注意到如果我使用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引用的组件。 * *以下行是分解a的正则表达式 *格式良好的URI引用到其组件中。 * *
* ^(([^:/?#]+):)?(//([^/?#]))?([^?#])(\?([^#]))?(#(.))? * 12 3 4 5 6 7 8 9 ** *上面第二行中的数字仅用于帮助提高可读性;他们 *表示每个子表达的参考点(即每个配对 *括号)。我们将子表达式匹配的值称为$。 *例如,将上面的表达式与之匹配 *
* 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 ** where表示该组件不存在,因为 *上例中查询组件的大小写。因此,我们可以 *确定五个组件的值为 *
* scheme = $2 * authority = $4 * path = $5 * query = $7 * fragment = $9 ** *正则表达式已经稍微修改以暴露 * userInfo,域和端口与权限分开。 *修改后的版本产生 *
* $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 :(得分:0)
我能够解决这个问题。热模块重新加载正在影响F5刷新问题。如果我禁用HMR,那么F5刷新工作。出于某种原因,我虽然HMR正在影响MVC视图,但事实并非如此,简单的解决方案就在下面。
至于视图的MVC部分,我没有正确的路线。配置的路由是{controller} / {action},我只是在控制器中输入。
如果其他人有一些见解,我很乐意听到它!
由于