如何使用 Vuex 模块发布 Vue.js NPM 包?

How to publish an Vue.js NPM package with a Vuex module?

我正在开发一些我想放在 NPM 包中的 Vue 组件。我面临的问题是我不知道如何发布依赖于 Vuex 模块的组件。

我已经将这个组件库所需的所有代码整齐地放置到一个单独的 Vuex 模块中,但是当有人导入我的包时我该如何注册我的模块?

我想创建一个插件是一个好的开始,但我仍然需要检查 Vuex 实例并以某种方式注册我的模块。

我看过很多关于如何发布 Vue 组件的教程,但没有看过更复杂的教程。

有什么建议吗?

您应该可以只要求用户将您的 vuex 模块添加到您的模块中(将其公开为包的一部分 public api)。也许这也可以作为安装功能的一部分来完成(如果您使用插件方法)。

对于任何试图解决这个问题的人来说,这也是一个有用的参考:

https://forum.vuejs.org/t/how-to-create-an-npm-package-of-a-vue-js-project-which-uses-vuex/14706/2

这里要注意的一个关键是用法:

store.registerModule('desiredModuleName', yourModule)

它有点隐藏在 API 中,但这允许您注册您的 Vuex 模块,只要用户通过他们的商店。

https://vuex.vuejs.org/en/modules.html#dynamic-module-registration