Comments (10)
$ npm i [email protected]
from megalo.
@zwwill 试了一下,Vuex 可以挂载了。赞!
但是使用 vuex 时遇到了两个问题:
- 在 app 层面注册全局 store, page 中无法通过
this.$store
获取到全局 store,this.$store
获取到的是undefined
。 不知道这是不是因为的方法不对。单独页面注册局部 store,只要不用问题 2 中的语法,都没问题。 - 使用 mapState, mapGetters, mapActions 会出现语法错误,
...mapState({ //... })
会报错。错误代码如下:
ERROR in ./src/pages/home/Home.vue?vue&type=script&lang=js& (./node_modules/babel-loader/lib!./node_modules/@megalo/target/lib/loaders/script.js!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/home/Home.vue?vue&type=script&lang=js&)
Module build failed (from ./node_modules/@megalo/target/lib/loaders/script.js):
**SyntaxError: unknown: Unexpected token (46:4)
44 | // return this.$store.state.testStr
45 | // }
> 46 | ...mapState({
| ^
47 | stateStr: state => state.testStr
48 | })
49 | },**
at Parser.pp$5.raise (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4454:13)
at Parser.pp.unexpected (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:1761:8)
at Parser.pp$3.parseIdentifier (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4332:10)
at Parser.pp$3.parsePropertyName (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4156:96)
at Parser.pp$3.parseObj (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4045:12)
at Parser.pp$3.parseExprAtom (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3719:19)
at Parser.pp$3.parseExprSubscripts (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3494:19)
at Parser.pp$3.parseMaybeUnary (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3474:19)
at Parser.pp$3.parseExprOps (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3404:19)
at Parser.pp$3.parseMaybeConditional (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3381:19)
at Parser.pp$3.parseMaybeAssign (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3344:19)
at Parser.pp$3.parseObjectProperty (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4115:99)
at Parser.pp$3.parseObjPropValue (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4140:84)
at Parser.pp$3.parseObj (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:4048:10)
at Parser.pp$3.parseExprAtom (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3719:19)
at Parser.pp$3.parseExprSubscripts (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3494:19)
at Parser.pp$3.parseMaybeUnary (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3474:19)
at Parser.pp$3.parseExprOps (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3404:19)
at Parser.pp$3.parseMaybeConditional (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3381:19)
at Parser.pp$3.parseMaybeAssign (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:3344:19)
at Parser.pp$1.parseExport (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:2645:19)
at Parser.pp$1.parseStatement (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:1884:74)
at Parser.pp$1.parseBlockBody (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:2268:21)
at Parser.pp$1.parseTopLevel (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:1778:8)
at Parser.parse (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:1673:17)
at parse (E:\vueprojects\mgl-demo\node_modules\babel-core\node_modules\babylon\lib\index.js:7305:37)
at File.parse (E:\vueprojects\mgl-demo\node_modules\babel-core\lib\transformation\file\index.js:485:15)
at File.parseCode (E:\vueprojects\mgl-demo\node_modules\babel-core\lib\transformation\file\index.js:570:20)
at E:\vueprojects\mgl-demo\node_modules\babel-core\lib\transformation\pipeline.js:49:12
at File.wrap (E:\vueprojects\mgl-demo\node_modules\babel-core\lib\transformation\file\index.js:532:16)
at Pipeline.transform (E:\vueprojects\mgl-demo\node_modules\babel-core\lib\transformation\pipeline.js:47:17)
at Object.module.exports (E:\vueprojects\mgl-demo\node_modules\@megalo\target\lib\loaders\script.js:12:21)
from megalo.
@b2nil
我写了个 vuex 的 example 并没有发现你说的这个问题,https://github.com/kaola-fed/megalo-demo
from megalo.
@b2nil ... 扩展符需要你自己配一下 .babelrc 文件
from megalo.
@zwwill
谢谢,我的 babel 插件配置错了,导致使用扩展符时报错。
可否给一个多个 page 实例共用一个全局 store 的 demo?
参考了一些mpvue的写法,都不成功,比较头大。
from megalo.
@b2nil 每个 vue 实例化时都传入同一个 store 不行吗
from megalo.
@F-loat,每个Vue实例都传入同一个store,我测试的时候并不能更改全局的状态。一个页面更改状态后,另一个页面的状态不会更新。我现在不方便贴代码,不知道是不是我的逻辑有误。
from megalo.
@b2nil @F-loat 就目前来看,store 挂在 app.js 下是不好使的,这个问题我们会排查下,后面会跟大家反馈结果的
from megalo.
问题原因是 webpack
打包的时候存在多个runtime
,因此 Vue
没有共享一个模块,修改一下配置项,加上 optimization.runtimeChunk
的配置。
optimization: {
runtimeChunk: {
name: 'runtime'
}
},
脚手架和 demo 也会作出相应更新,谢谢反馈。
from megalo.
加上 optimization.runtimeChunk
配置后,vuex 使用正常。
多谢!
@elcarim5efil
from megalo.
Related Issues (20)
- megalo是不是停止开发了呀? HOT 11
- WXMLRT_$gwx:./components/slots.wxml:template:22:30: Template `xxxx` not found.
- css作用域问题 HOT 1
- 关于组件slot在支付宝上异常,但在微信上表现正常的问题。 HOT 1
- 关于编译支付宝小程序使用async时报错的问题。 HOT 2
- 每次启动都卡这里 HOT 7
- 提供选项控制是否压缩 模板 中的代码
- 请问什么时候能支持组件多层嵌套
- 请问有计划支持快应用吗?
- v-for`多层嵌套,当外层循环和内层循环的 `:key` 重名时,会导致 `f_` 取到错误的值的情况。
- mounted钩子执行顺序问题
- 钉钉群 二维码已过期
- 使用变量名c 导致获取vm为null的bug
- vux ui组件,报错
- 能否更新下entry 包,加下处理 HOT 3
- npm run dev:wechat 报错Error: Cannot find module '@megalo/target' 这个包我下载了啊。为什么找不到
- 引用vantweapp原生组件,类似click-overlay事件绑定不了
- 控制在初始化时候不执行App 函数
- http://megalojs.org 官网域名过期访问不了了 HOT 1
- 60% building 550/650 modules 100 active ... 终端闪退 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from megalo.