我对项目进行了以下npm软件包更新:
vuex: 2.3.1 -> 3.0.0
vue: 2.4.2 -> 2.5.2
vue-router: 2.7.0 -> 3.0.1
Run Code Online (Sandbox Code Playgroud)
(还有更多,但我认为它们与该问题无关)
现在,在启动网页时出现此错误:
错误:[vuex]操作应为具有“处理程序”功能的函数或对象,但“ actions.default”为{}
我不确定为什么,我阅读了Vuex changelog,语法似乎并没有真正改变,但是由于某种原因我的代码崩溃了。
在仔细研究此问题后,我发现错误是由名为vuex.esm.js的文件中的断言失败引起的:
function assert (condition, msg) {
if (!condition) { throw new Error(("[vuex] " + msg)) }
}
Run Code Online (Sandbox Code Playgroud)
更新软件包之前,代码工作正常,这里可能缺少我所需要的东西。我很高兴提供任何可能有助于更好地理解该问题的代码。
谢谢!
小智 5
我在单元测试中遇到了相同的错误。我只是在操作中添加了一个空handler函数,此后它就起作用了...
const state = { auth: { authenticated: false } };
const actions = { auth: { handler: () => {}, logout: () => sinon.stub() } };
let store;
beforeEach(() => {
store = new Vuex.Store({
state,
actions,
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1956 次 |
| 最近记录: |