【发布时间】:2020-06-19 11:44:48
【问题描述】:
vue/webpack 中的惰性组件似乎是错误的,或者我错过了混淆术语。
要延迟加载组件,我使用关键字import,webpack 应该将该组件拆分为单独的捆绑包,当我需要加载该组件时,webpack 应该处理它并加载该组件。
但实际上,webpack 确实会生成单独的文件,但它还是会在应用程序运行时加载。这是出乎意料的。
例如,我只是创建了一个简单的 vue 应用程序(使用 cli)并浏览到 localhost:8080/,然后应该使用 import 关键字加载(默认情况下)关于页面。
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
}
]
所以这是设计使然?我每次加载我现在不需要的文件(关于页面)。如果我有 200 页,什么时候我会获取 200 个我不需要的文件。结果如何?我是用import 键保存在这里的吗?
例如,在vuetify 中,他们使用import 键,但无论如何都会加载文件,而不是按需加载。
【问题讨论】:
-
有可能,你只需要设置它。 blog.logrocket.com/lazy-loading-in-vue-js
-
你可以看到我在 about route 中使用了 import 关键字。