最近业余在写 electron APP ,以下是我的做法:
在`main/index.ts`中,
```
import log from 'electron-log'
Store.initRenderer()
```
同时在 BrowserWindow 的定义中:
```
webPreferences: {
preload: join(__dirname, '../preload/index.js'),
contextIsolation: false,
sandbox: false,
},
```
在 `preload/index.ts`中,
```
import storeAPI from 'electron-store'
// @
ts-ignore (define in dts)
window.store = storeAPI
```
在`preload/index.d.ts`中,
```
import storeAPI from 'electron-store'
declare global {
interface Window {
store: storeAPI
}
}
```
在 renderer 中用到 store 的地方:
```
// @
ts-ignore override warning
const persistentStore = new window.store({ name: 'settings' })
// 使用 persistentStore.get() 读数据
// 使用 persistentStore.set() 写数据
```
我自己对 typescript/electron 也是一知半解, 以上供参考。