在 vue-cli 3 项目中使用带有 npm-link 的 vuex store 会丢失 $store
Posted
技术标签:
【中文标题】在 vue-cli 3 项目中使用带有 npm-link 的 vuex store 会丢失 $store【英文标题】:Using vuex store with npm-link in vue-cli 3 project loses $store 【发布时间】:2019-02-02 12:40:22 【问题描述】:我认为这是与将存储保存在 npm 链接文件夹中有关的配置问题。
-
我创建了一个 vue-cli 3 项目并运行了“计数器”示例(来自 https://github.com/vuejs/vuex/tree/dev/examples/counter)
工作:当我将 store.js 移动到 已安装 node_modules 包(并更新其导入网址)时,它会继续工作。
中断:当我将 store.js 移动到 npm 链接 node_modules 包时,它会编译并且开发工具会找到商店,但 我得到一个空白屏幕和控制台错误: 属性或方法“$store”未在实例上定义,但在渲染期间被引用
如果我构建最小化的 js (npm run build),它也可以与链接包一起正常工作。是否有我缺少的配置设置?
【问题讨论】:
我无法重现该问题(无论商店是否与 npm 链接,演示都一样)。您是否有指向显示该问题的项目的 GitHub 链接? 【参考方案1】:问题原来是链接的包有自己的 node_modules 文件夹。我认为这可能导致 webpack 创建了 2 个 Vue 实例并将链接的包附加到第二个实例。
删除依赖包的节点模块并让 webpack / vue-cli 在根级别运行解决了我的问题。
【讨论】:
这也对我有用。我认为这可能是一个错误,尽管我不知道哪个软件包会导致这样的错误。 这不太理想...如果您需要积极开发和构建链接模块,没有 node_modules 文件夹将是一个问题。以上是关于在 vue-cli 3 项目中使用带有 npm-link 的 vuex store 会丢失 $store的主要内容,如果未能解决你的问题,请参考以下文章
带有 SASS 的 Webpack-simple + vue-cli - 无法编译?
如何在使用 vue-cli3 创建的 Vue2 项目中使用 axios
我的 PostCSS 插件在 Vue-cli 3 项目中不起作用