vue初始化就加载了所有页面资源吗

这个问题在于使用Vue构建单页应用的时候,我们第一次访问index就把所有的资源都加载完毕了吗?我发现build出来的static文件夹(包含js和css文件)大小高达8M(没有压缩之类的操作,先忽略这个),然后在浏览器访问的时候只有一次网络请求,之后切换页面也不会产生新的网络请求,那么我可以理解为第一次访问的时候就已经把所有资源都加载到本地了吗?这样如果我的页面一旦多了起来,那么就要加载更多的本地资源才行?这样会不会有效率问题?
由于我接触Vue只有一个星期,在学习对比各种前端技术,所以在看到Vue构建的单页应用就想到了这个,我想知道Vue是怎么解决的。
我感觉Vue已经考虑了这个问题,我在搜索引擎上找到的几个解决这个问题的方法有:
1.ssr——服务端渲染
2.动态路由?我看到这个词,似乎是可以根据需要加载?
总的来说就是一次加载的js文件太多,如何根据需要加载js文件?

阅读 11.6k
5 个回答

路由懒加载啊亲

components.js中,其中homepage.vue 是vue组件

const homepage = resolve => require(['../components/homepage'], resolve)

export  default {
  homepage
}

*.js中

import Vue from 'vue'
import Router from 'vue-router'

import components from './components'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Hello',
      component: components.homepage
    }
  ]
})

以上就是路由懒加载的配置示例

请参见官方路由懒加载。

css 应该单独打包而不是打包在JS。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题