[vue3] app.use实现
从源码上看, use的实现还是比较简单。
·
use(plugin: Plugin, ...options: any[]) {
if (installedPlugins.has(plugin)) {
__DEV__ && warn(`Plugin has already been applied to target app.`)
} else if (plugin && isFunction(plugin.install)) {
installedPlugins.add(plugin)
plugin.install(app, ...options)
} else if (isFunction(plugin)) {
installedPlugins.add(plugin)
plugin(app, ...options)
} else if (__DEV__) {
warn(
`A plugin must either be a function or an object with an "install" ` +
`function.`
)
}
return app
}
从源码上看, use的实现还是比较简单。
- 如果当前的插件被注册过了,那么从缓存中直接拿出来使用
- 如果是个对象。那么需要有install 这个属性,并且要求是个函数
- 可以是函数类型
更多推荐
已为社区贡献2条内容
所有评论(0)