Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript VueJS:如何将存储和路由注入到npm_模块下的组件_Javascript_Typescript_Vue.js_Vuejs2_Vuex - Fatal编程技术网

Javascript VueJS:如何将存储和路由注入到npm_模块下的组件

Javascript VueJS:如何将存储和路由注入到npm_模块下的组件,javascript,typescript,vue.js,vuejs2,vuex,Javascript,Typescript,Vue.js,Vuejs2,Vuex,我正在构建一个typescript应用程序,该应用程序由一个主vue.js项目和几个作为依赖项包含的其他模块组成。我正在使用vuex作为我的应用程序的状态管理器,我按照以下指南创建npm模块: typescript+vuejs: 打包vue组件: vuex模块:。用于共享存储逻辑 使用vue和typescript进行汇总:。使用纯javascript进行编译 我必须使用npm模块,因为我必须创建90%相似的不同应用程序,并且我需要在这些应用程序之间共享一些组件(逻辑和UI) 问题 我

我正在构建一个typescript应用程序,该应用程序由一个主vue.js项目和几个作为依赖项包含的其他模块组成。我正在使用vuex作为我的应用程序的状态管理器,我按照以下指南创建npm模块:

  • typescript+vuejs:

  • 打包vue组件:

  • vuex模块:。用于共享存储逻辑

  • 使用vue和typescript进行汇总:。使用纯javascript进行编译

我必须使用npm模块,因为我必须创建90%相似的不同应用程序,并且我需要在这些应用程序之间共享一些组件(逻辑和UI)

问题

我已经在我的应用程序中初始化了一个vuex存储,据我所知,该存储应该自动注入到应用程序每个子组件的this.$store属性中。它工作正常,除了npm模块之外,this.$store属性无处不在(this.$route也是如此)

我尝试了以下测试:

  • 使用rollup编译npm.vue组件并将其导入我的应用->不起作用,$store属性不存在。但是,我注意到我可以访问这个。$parent。$store,但它不是被动的(启动store操作时组件不会更新)

  • 直接从npm模块中包含.vue组件,无需编译它->如上所述

  • 将.vue组件移动到主应用程序的/src文件夹下->它可以正常工作。this.$存储已就位,调度操作将更新组件等

  • 我已经上网好几天了,我还没有发现任何关于这种限制的东西

    你能帮我让$store和$route也在外部模块中工作吗