config.globalProperties 的 Vue3 应用程序初始化链接语法

Vue3 App Initialization chaining syntax with config.globalProperties

我用 Vue CLI 启动了一个 Vue3 项目。应用程序初始化代码为:

createApp(App)
.use(AudioVisual)
.component("font-awesome-icon", FontAwesomeIcon)
.mount('#app')

现在我想使用mitt来使用事件发射器,因此我需要使用app.config.globalProperties。所以,我使用了以下语法-

const app = createApp(App);
app.use(AudioVisual);
app.component("font-awesome-icon", FontAwesomeIcon);
app.config.globalProperties.emitter = emitter;
app.mount('#app');

有什么办法,我可以使用第一种语法并在我的应用程序中使用 mitt?我试过了

createApp(App)
    .config.globalProperties.emitter = emitter;
    ...

但这没有用。

app.config.globalProperties.emitter = emitter 是一个表达式,不应被链接。以任何方式保留 app 引用以进行测试或其他可能是有益的,因此链接对于初始化并不重要。

全局实例的赋值属性可以像普通的Vue插件一样完成;这是第三方插件通常做的事情:

createApp(App)
.use({
  install(app) {
    app.config.globalProperties.emitter = emitter;
  }
})
...
.mount("#app");