我一直在this blog post提到的角2/ASP.NET核心SPA模板后造成新的页面加载。当使用dotnet new angular
时,使用这些技术和Bootstrap 3.3.7生成Visual Studio 2017项目。我更新了package.json
以使用Bootstrap 4.0.0-alpha.6,安装了新软件包,并reran webpack --config webpack.config.vendor.js
生成了一组新的CSS和JS。角2路升级从引导3.3.7至4.0.0-alpha.6
然而,在应用程序切换路由时,我注意到在Chrome开发者工具联网标签的路由现在做一个完整的页面刷新,而不是输出在路由器出口新内容。
Bootstrap附带JS文件以允许Bootstrap插件工作,并且在默认模板输出的情况下,用于小屏幕上的折叠导航栏/汉堡包菜单。我想也许更新的Bootstrap JS可能会干扰,所以我删除了bootstrap
条目webpack.config.vendor.js
并留在条目bootstrap/dist/css/bootstrap.css
,这意味着只有CSS现在被绑定,而不是与其关联的JS绑定。我reran webpack并确认它不再与供应商JS的其他供应商捆绑在一起。但是,在运行应用程序时,路由仍以相同的错误方式运行。
如果我们升级引导之前运行的应用程序当看一看生成的HTML,路线是这样的:
<a _ngcontent-ec6b-1="" ng-reflect-router-link="/home" ng-reflect-href="/home" href="/home">Home</a>
但升级在这个CSS结果:
<a _ngcontent-1="" href="/home">Home</a>
注意,在后一种代码丢失的属性;我在最新的Chrome浏览器和Edge浏览器中证实了这一点,并且我从VS2017中的IIS Express以及dotnet run
运行。为什么简单地更新捆绑的Bootstrap CSS会改变Angular 2路由的HTML输出?