如何封装全局的对象或者组件?

实际的需求是我把localstorage封装到utils包中了

然后每次在一个组件中要用到localstorage就要 import storage form ...

觉得这样很麻烦

我有一个大胆的想法:

在根组件里面封装或者引入一个组件,姑且称之为:a组件,把它注册到:components中.name我是否可以在根组件下所有的其他组件中直接使用它呢?而不是在main.js中用Vue.component("a",options) 来注册全局组件?

阅读 1.4k
1 个回答

参见这个问题下的优质答案,因为 vue-cli 是基于 webpack 的,找到对应配置文件修改下就可以。
不过我十分不建议这么做,因为显式地 import 模块可以让代码的依赖更加透明,方便后面维护的人梳理逻辑,以及部分编辑器的智能代码提示。显式地 import 也方便以后迁移代码,比如等绝大部分浏览器原生支持 import 关键字的时候,直接抛开 webpack 打包(当然,这段代码生命力可能没有这么持久)。
在 webpack 中配置全局变量通常是为了给老旧的代码打包,比如动不动就一个 $ 的老代码。

推荐问题