在浏览器中本地保存数据

Locally Persist data in browser

我正在探索 elm 以创建示例应用程序,我想将一些数据存储在浏览器的本地存储中。

目前我正在开发 0.17.1 版本。所以任何人都请帮我解决这个功能。

截至今天,官方软件包存储库中没有发布任何模块,暂时通过 Ports 发布。


如果你喜欢冒险并且真的想尽快让它工作,你可以使用 fredcy/localstorage

破解方法如下

在项目的根目录中克隆 fredcy/localstorage

您可能想要删除 VCS 根目录。

elm-lang/dom 添加为项目的依赖项。

$ git clone git@github.com:fredcy/localstorage.git
$ rm -rf localstorage/.git
$ elm package install elm-lang/dom -y

将以下内容添加到您的 ./elm-package.json

"source-directories": [
    ".",
    "localstorage/src",
    "localstorage/src/Native"
],
"native-modules": true,

最糟糕的是,进入 localstorage/src/Native/LocalStorage.js 并替换:

3 // var _fredcy$localstorage$Native_LocalStorage = function()
4 var _user$project$Native_LocalStorage = function()

优势?

为本地存储使用 Elm 驱动的 API 可能值得麻烦,但这些东西将来会坏掉。

使用端口。

TodoMVC 实现实际上为您提供了一个如何通过端口访问本地存储的示例。我建议你看看。

https://github.com/evancz/elm-todomvc