Я использую electron-store для демонстрационного электронного проекта. В моем процессе main.ts я пытаюсь инициализировать хранилище и получить простой объект настроек. Это выглядит так:
// main.ts
import Store, { Schema } from 'electron-store';
type settingsType = {
settings: {
environment: 'development' | 'test' | 'prod',
refreshInterval: number,
}
}
const schema: Schema<settingsType> = {
settings: {
type: 'object',
properties: {
environment: {
type: 'string',
enum: ['development', 'test', 'prod'],
default: 'development',
},
refreshInterval: {
type: 'number',
minimum: 10000, // ten seconds
maximum: 600000, // ten min
default: 60000, // one min
}
},
default: {},
required: ['environment', 'refreshInterval'],
}
}
const store = new Store<settingsType>({schema});
// ERROR: TS2339: Property 'get' does not exist on type 'ElectronStore<settingsType>'.
let settingsStore: settingsType = store.get('settings');
Я думаю, что определяю все так, как ожидалось, но все равно получаю ошибку TS при вызове store.get. Что мне не хватает?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте понизить версию electron-store до 8.2.0.
npm i [email protected]. В моем случае это помогло.
Я заставил его работать с примером tsconfig, упомянутым в этом выпуске, но VScode все еще жалуется на отсутствие свойства. Есть ли обходные пути для этого?
Привет @kiwibird77, добро пожаловать в StackOverflow! Похоже, что в репозитории электронного магазина открыта проблема с этим вопросом.