【发布时间】:2016-05-19 16:13:26
【问题描述】:
编辑: 发现是 redux-persist 在补丁修订中进行了重大更改。
我正在用 Node、React、Redux、Webpack 等开发一个 webapp。其中一个包 (redux-persist) 在恢复状态(从 localStorage 读取)时突然抛出一个错误 (Uncaught TypeError: storage.getItem is not a function ( persistStore.js:99)。
提示:
- 我同事的环境不会出现这个问题。
- 这发生在尝试将我的包更新到 Babel 6 之后。但我不明白为什么这会相关。
- 我试过
npm cache clean - 我尝试删除并重新克隆我的存储库。
- 我尝试了
brew upgrade和 OSX 更新(为什么还是不行!?) - 它发生在 Chrome、Safari(这是我第一次打开它)和 Firefox(我为此目的而安装的)。
- 我在使用 redux-persist 之前尝试过
git reset --hard; git clean -xfd; npm install到一个状态,它没有抛出错误。
我的结论是它显然与我的环境有关,因为我在网上找不到任何东西,而且它在我同事的环境中无法重现。但我没有想法。
感谢您的帮助。
【问题讨论】:
-
1.您使用的是支持 HTML5 localStorage 的浏览器版本吗? 2. 调用的范围是否正确(应该是 localStorage 是 window 对象的一部分 - 除非您专门使用闭包而不是传入 Window 引用。)
标签: javascript node.js local-storage redux