JavaScript

[Electron]electron-storeでgetとset呼び出そうとしたらエラーで呼び出しできなかった件

今回結構長く何でだろう?って悩んだので忘れないと思うんですが、備忘録として残しておきたいなと思います。自分の記憶力は全く信用していないので。

軽く経緯のご説明をすると、今作っているものが仕事とかで、よく見るページをBookmarkしておいてElectronから簡単にアクセスできたら良いなーって思う機能を実装しています。

で、イメージとしてはこんな感じ。よくあるTodo機能ですね。実装中のものはもうちょい便利にしたいなって思うので+αしてます。(見た目も)

electron-storeを導入

ただ、特に意識して作らなければデータは永続化されません。開きっぱなしなら値は残ってますけど、アプリを落とすと消えます。

electron-storeを使用すると登録したデータをjsonファイルとして保持してくれるので今回導入したわけです。

上述した通り設定ファイルをローカルで持っていてくれるので登録しても一旦アプリを落として再度開き直しても登録したデータは残ってる!便利!

electron-storeのリポジトリ ※英語です

Todo機能を黙々と作って頓挫する

今回UIもある程度いい感じに仕上げたかったのでReactも導入してみました。んで、以下のページを参考に黙々と制作

【Qiita】Electron + Reactでデスクトップアプリを作ろう!

ある程度の形が出来上がってきたところで、お題の通りです。getとsetでエラー。

プロパティ ‘get’ は型 ‘ElectronStore~~~’ に存在しません。

setも内容は同様です。

エラー内容で調べてみたり、「electron-store 使い方」で調べてみたページを漁ってみても、基本的な使い方は画像の通りで.getと.setで取れるはずなんだけどなぁって悩んでいました。

答えはstack overflowにあった

検索キーワードは忘れたんですが、たまたまstack overflowの内容が目に入ったのでリンクを踏んで確認してみました。

引用:
Try to downgrade electron-store version to 8.2.0 npm i electron-store@8.2.0. It helped in my case.
翻訳:electron-storeのバージョンを8.2.0 npm i electron-store@8.2.0 にダウングレードしてみてください。

該当スレッドはこちら:electron-store returns “Property ‘set’ / ‘get’ does not exist on type”

.getと.setが無事取得できるようになった

現在のelectron-storeのバージョンは10.0.0だったりします。特に指定等せずにnpm installすると最新バージョンのライブラリが取れるかなと。

なので、すでにnpm installしてしまった場合は既存のライブラリを削除して過去バージョンのelectron-storeを取ってくることで、以前みたいに使えるようになります。

削除

npm uninstall electron-store

バージョン指定してインストール

npm install electron-store@8.2.0

あとがき

一旦以前のように使えるようになって良かったんですが、暫定対処って感じでしょうか。割とこの問題調べてたはじめの方で現状の解決方法を提示してたページがあったような気がするので、また一段落したら調べてみようと思います。

とりあえず、無事使えるようになったので引き続きぼちぼちと進めていきたいなーと思います。

※お試しでインストールしたElectron消す際に見えたんですが、約600Mもあるんですね…。

[Steam]素敵な曲が音ゲーとして楽しめるDEEMO-Reborn-前のページ

[Game]Xbox GamePassに再登録しようとしたら100円と表記されていたけど、リンク先では990円と表記されている件次のページ

ピックアップ記事

  1. [タガタメ]誰ガ為のリセットマラソン-タマモゲットまでの回数-
  2. [グラブル]よろず屋シェロなんばマルイ出張所遊びに行ってみた[番外]
  3. [猫]うちの猫が溶血性貧血と診断されました。
  4. [グラブル]召喚石確率UP召喚石欲しいから70連してみたら
  5. [グラブル]2016年9月のパーティ成長記録

関連記事

  1. JavaScript

    [Electron]フロントで作った配列をバックで抜き出して使おうと思ったらmap関数でちょっと嵌っ…

    タイトルどおりの内容です。フロント(Web側)でinputに入った値を…

  2. git

    [アウトプット]最近Git操作はTortoiseGitじゃなくて、極力コマンドを使っている

    QiitaとかZennとか見ていると、アウトプットが大事だという記事を…

  3. JavaScript

    [環境構築]nodejsとtypescriptを用いた環境構築方法の備忘録

    仕事ではJavaがメインですけど、家ではJavaScriptをメインで…

最近の記事

  1. Cat-l
PAGE TOP