全局注册通常不理想。例如,如果您使用的是 Webpack之类的构建系统,全局注册所有组件意味着 即使您停止使用组件,它也仍然可以包含在其中 您的最终版本。这不必要地增加了 您的用户必须下载JavaScript。
如果我正确理解这一点,那么除非您忘记删除任何未使用的组件,否则使用本地注册不会减小文件的整体大小。如果您在本地注册组件,该组件仍会被拉入您的主JS文件中(如果没有注册,那么您将无法在本地使用该组件,因为代码是未定义的。)
这给了我使用本地注册的优势-确保您在停止使用组件时不要忘记删除全局组件注册。当然,如果停止使用组件,也有可能忘记删除本地注册,在这种情况下,即使使用本地注册也会遇到相同的问题。
似乎本地注册的主要用例是确保某个组件不能在其他地方使用。我正在尝试考虑可以预防哪些危险?
答案 0 :(得分:2)
当您只需要在一个地方放置一个组件时,它非常干净。即。在您的NavBar
组件中注册Header
,因为它永远不会在其他地方使用,它为您提供了一种通过IDE导航到该组件的快速方法。
如果您有两个具有相同名称的组件,例如来自两个名为vue-button
的第三方组件,并且您需要将它们都放在不同的位置,则可以避免冲突。
我敢打赌,由于您的Vue实例在使用组件之前不会注册该组件,因此性能也会有很小的提高,尽管那是更多的猜测,而且可能微不足道。
最终,我认为这更多的是将代码划分为相关的组,这有助于组织工作。