Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2路由在从Bootstrap 3.3.7升级到4.0.0-alpha.6后会导致新页面加载_Angular_Twitter Bootstrap 3_Webpack_Angular2 Routing_Twitter Bootstrap 4 - Fatal编程技术网

Angular 2路由在从Bootstrap 3.3.7升级到4.0.0-alpha.6后会导致新页面加载

Angular 2路由在从Bootstrap 3.3.7升级到4.0.0-alpha.6后会导致新页面加载,angular,twitter-bootstrap-3,webpack,angular2-routing,twitter-bootstrap-4,Angular,Twitter Bootstrap 3,Webpack,Angular2 Routing,Twitter Bootstrap 4,我一直在使用中提到的Angular 2/ASP.NET core SPA模板。使用dotnet new angular时,将使用这些技术和Bootstrap 3.3.7生成Visual studio 2017项目。我更新了package.json以使用Bootstrap 4.0.0-alpha.6,安装了新的包,并重新运行webpack--config webpack.config.vendor.js以生成新的CSS和js包 然而,当在应用程序中切换路由时,我在Chrome开发者工具网络选项卡中

我一直在使用中提到的Angular 2/ASP.NET core SPA模板。使用
dotnet new angular
时,将使用这些技术和Bootstrap 3.3.7生成Visual studio 2017项目。我更新了
package.json
以使用Bootstrap 4.0.0-alpha.6,安装了新的包,并重新运行
webpack--config webpack.config.vendor.js
以生成新的CSS和js包

然而,当在应用程序中切换路由时,我在Chrome开发者工具网络选项卡中注意到,路由现在会进行完整的页面刷新,而不是在路由器出口输出新内容

Bootstrap附带JS文件,以允许Bootstrap插件工作,在默认模板输出的情况下,用于小屏幕上的折叠导航栏/汉堡菜单。我认为新的Bootstrap JS可能会干扰,所以我删除了
webpack.config.vendor.JS
中的
Bootstrap
条目,并将其保留在
Bootstrap/dist/css/Bootstrap.css
条目中,这意味着现在只绑定了css,而没有绑定相关的JS。我重新运行了webpack,并确认它不再与供应商JS的其余部分捆绑在一起。但是,在运行应用程序时,路由仍然以相同的错误方式运行

如果我们在升级引导程序之前运行应用程序时查看生成的HTML,路径如下所示:

但是升级CSS的结果是:


注意后一个代码中缺少的属性;我在最新的Chrome和Edge浏览器中确认了这一点,并在VS2017中从IIS Express以及
dotnet运行中运行。你知道为什么简单地更新捆绑的引导CSS会改变Angular 2 routes的HTML输出吗?

我能够通过为添加缺少的引导依赖项来解决这个问题。跟着