🏬
electron-storeのES Moduleエラー解決(Electron v30以上)
前置き
electron-storeのサンプルを試すと
App threw an error during load
Error [ERR_REQUIRE_ESM]: require() of ES Module ...(以下略)
のエラーがでたときの対処をしたのでメモです。
electron-store
各バージョン
"electron": "^31.0.2"
"electron-store": "^10.0.0"
"electron-vite": "^2.3.0",
対処法
サンプルコードの
import Store from 'electron-store';
const store = new Store();
を
const load = async (): Promise<void> => {
const { default: Store } = await import('electron-store')
store = new Store()
}
load()
に変更します。
最終のコードは以下になります。
const load = async (): Promise<void> => {
const { default: Store } = await import('electron-store')
store = new Store()
}
load()
store.set('unicorn', '🦄');
console.log(store.get('unicorn'));
//=> '🦄'
// Use dot-notation to access nested properties
store.set('foo.bar', true);
console.log(store.get('foo'));
//=> {bar: true}
store.delete('unicorn');
console.log(store.get('unicorn'));
//=> undefined
あとがき
他に最適解があれば教えていただけると幸いです!
Discussion