我应该在vue中的每个组件上使用代码拆分吗?

时间:2018-12-31 14:06:28

标签: vue.js webpack code-splitting

我在vue中有一个带有打字稿的应用程序。我看到当我使用import加载组件时,我得到了组件束,其中包含所有组件代码。

我想知道是否应该对要加载的每个组件执行此操作,例如:我内部有app.vue,我具有工具栏.vue和抽屉.vue。在路由器组件中,我还有其他vue组件。

我担心会发生的是先加载app.js,然后在路径定义内添加组件(500k),然后得到工具栏组件(1.5mb)。我会觉得屏幕闪烁异常。

那么,我应该对应用程序中的每个组件使用拆分包吗?

1 个答案:

答案 0 :(得分:1)

如果您不希望每个页面都使用该特定组件,则可以进行代码拆分。

HeaderFooter组件为例。由于它们将在几乎所有页面中使用,因此无需进行代码拆分,因为您希望将其与所有页面的捆绑包一起加载。


例如,您有一个组件,其中有一个Blog Widget。该组件将仅在/blog页中加载。因此,这是使用代码拆分的一个很好的用例,因为您不需要将Blog Widget捆绑在其他页面中,除了/blog页面之外。

我只能为您提供一个通用的答案,使用HeaderFooter组件是表达不同用例的最佳方法。至于其余组件,则必须自己决定是否值得进行代码拆分。