您的位置:首页 > 房产 > 家装 > 国家税务总局网站官网网址_电子计算机哪个专业最吃香_郑州竞价托管_企业网站seo优化外包

国家税务总局网站官网网址_电子计算机哪个专业最吃香_郑州竞价托管_企业网站seo优化外包

2025/4/22 1:53:23 来源:https://blog.csdn.net/daqiang012/article/details/147140820  浏览:    关键词:国家税务总局网站官网网址_电子计算机哪个专业最吃香_郑州竞价托管_企业网站seo优化外包
国家税务总局网站官网网址_电子计算机哪个专业最吃香_郑州竞价托管_企业网站seo优化外包

欢迎观看《Vue Router 实战(第4版)》视频课程

    1. 路由懒加载

当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就会更加高效。

Vue Router 支持开箱即用的动态导入,这意味着你可以用动态导入代替静态导入:

// 将

// import UserDetails from './views/UserDetails.vue'

// 替换成

const UserDetails = () => import('./views/UserDetails.vue')

const router = createRouter({

  // ...

  routes: [

    { path: '/users/:id', component: UserDetails }

    // 或在路由定义里直接使用它

    { path: '/users/:id', component: () => import('./views/UserDetails.vue') },

  ],

})

component (和 components) 配置接收一个返回 Promise 组件的函数,Vue Router 只会在第一次进入页面时才会获取这个函数,然后使用缓存数据。这意味着你也可以使用更复杂的函数,只要它们返回一个 Promise :

const UserDetails = () =>

  Promise.resolve({

    /* 组件定义 */

  })

一般来说,对所有的路由都使用动态导入是个好主意。

注意

不要在路由中使用异步组件。异步组件仍然可以在路由组件中使用,但路由组件本身就是动态导入的。

如果你使用的是 webpack 之类的打包器,它将自动从代码分割中受益。

如果你使用的是 Babel,你将需要添加 syntax-dynamic-import 插件,才能使 Babel 正确地解析语法。

      1. 把组件按组分块

使用 webpack

有时候我们想把某个路由下的所有组件都打包在同个异步块 (chunk) 中。只需要使用命名 chunk,一个特殊的注释语法来提供 chunk name (需要 Webpack > 2.4):

const UserDetails = () =>

  import(/* webpackChunkName: "group-user" */ './UserDetails.vue')

const UserDashboard = () =>

  import(/* webpackChunkName: "group-user" */ './UserDashboard.vue')

const UserProfileEdit = () =>

  import(/* webpackChunkName: "group-user" */ './UserProfileEdit.vue')

webpack 会将任何一个异步模块与相同的块名称组合到相同的异步块中。

使用 Vite

在Vite中,你可以在rollupOptions下定义分块:

// vite.config.js

export default defineConfig({

  build: {

    rollupOptions: {

      // https://rollupjs.org/guide/en/#outputmanualchunks

      output: {

        manualChunks: {

          'group-user': [

            './src/UserDetails',

            './src/UserDashboard',

            './src/UserProfileEdit',

          ],

        },

      },

    },

  },

})

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com