javascript - 在本地注册一个Vue组件有什么好处?

标签 javascript vue.js vuejs2 vue-component vuex

documentation from Vue说:

Global registration often isn’t ideal. For example, if you’re using a build system like Webpack, globally registering all components means that even if you stop using a component, it could still be included in your final build. This unnecessarily increases the amount of JavaScript your users have to download.

如果我的理解正确的话,使用本地注册不会减少整体文件大小,除非您忘记删除任何未使用的组件。如果您在本地注册一个组件,该组件仍会被拉入您的主 JS 文件(如果没有,那么您甚至无法在本地使用该组件,因为代码将是未定义的)。

这给我留下了使用本地注册的极端情况 - 确保您在停止使用组件时不会忘记删除全局组件注册。当然,也有可能在停止使用某个组件时忘记删除本地注册,这种情况下即使本地注册也会出现同样的问题。

似乎本地注册的主要用例是确保组件不能在别处使用。我正在考虑可以防止哪些危险?

最佳答案

当您只需要在一个地方放置一个组件时,它非常干净。 IE。在您的 Header 组件中注册 NavBar,因为它永远不会在其他地方使用,它使您可以通过 IDE 快速导航到该组件。

如果您有两个名称相同的组件,它可以避免冲突,例如来自两个名为 vue-button 的第三方组件,并且您在不同的地方需要它们。

我打赌也有一些非常小的性能提升,因为您的 Vue 实例在使用之前不会注册该组件,尽管那是更多的猜测并且可能微不足道

归根结底,我认为更多的是将您的代码划分到相关组中,这有助于组织。

关于javascript - 在本地注册一个Vue组件有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53546488/

相关文章:

vue.js - 更改 Vuejs 中的 v-model 输入值时,数据不会动态更新

javascript - 计算 JSON 中的键/值

vue.js - Vuex - 将多个参数传递给突变

javascript - 在javascript中循环以禁用字段

javascript - watch 是异步的吗?

vue.js - 如何在 Vue.js 中引用 '<slot></slot>' 中的文本

javascript - 在 Vue.js 2 组件中加载时未定义 Webpack 外部 JS 文件

javascript - 如何在 jquery 动态添加的 html 中呈现 vuejs 组件

javascript - 访问是 DOM 或 Shadow DOM 的 Web 组件的父上下文

javascript - 如何使用 RTCPeerConnection.removeTrack() 删除视频或音频或两者?