问题描述
所以我今天才进入Vue路由器的主题。我知道它可以防止整个页面每次刷新,而仅带来必要的组件,从而有助于内容加载更快。
但是在访问主页后,它不是只是通过Webpack加载了整个bundle.js文件吗?因此,既然我们在第一次访问时就已经加载了整个JS文件,那么在访问不同页面时是否不必调用单独的JS文件?
This是我正在观看的课程。
解决方法
您正在谈论的主要好处是从一个URL导航到另一个URL。
通常,这将需要整个页面加载,例如
Page1.html ? click link ? Page2.html
- JS - JS
- CSS - CSS
- Images - Images
但是通过使用组件路由器,您只需要交换页面中已更改的部分,而无需重新加载所有布局。
这实际上是所谓的Single-page application的核心,其中您的应用程序实际上是一个HTML页面,其中的某些部分可以响应URL更改。
可以通过操纵URI fragment(又名哈希)或使用浏览器的History API来更改URL,而无需加载整个页面。
在Vue路由器中,此选择由mode
configuration控制。
“但是它不只是加载整个bundle.js文件”
不一定。参见Lazy Loading Routes。