Vue-плагин
VueStoragePlugin — установите его, чтобы настроить глобальный префикс ключей, цель по умолчанию и обработчик ошибок.
import { createApp } from 'vue'
import { VueStoragePlugin } from 'vue-storage-kit'
import App from './App.vue'
const app = createApp(App)
app.use(VueStoragePlugin, {
prefix: 'myapp:', // все ключи автоматически получают префикс
defaultTarget: 'local',
onError: (err) => {
if (err.type === 'quota-exceeded') showNotification('Storage full')
},
})
app.mount('#app')VueStoragePluginOptions
Применяются к каждому вызову useStorage() (и ко всему, что на нём построено, например useStorageList()), сделанному после установки плагина — но не к useCookie, useIndexedDB/useIDBRef или createPiniaPersist, у которых свои независимые опции, не читающие настройки плагина.
prefix
string
Добавляется перед каждым ключом хранилища — useStorage('counter', ...) на самом деле читает/пишет myapp:counter. Два вызова useStorage() для одного логического ключа, установленные с разными префиксами, считаются разными экземплярами.
defaultTarget
StorageTarget
Используется, когда вызов сам не передаёт target; явный target (включая встроенный в useLocalStorage/useSessionStorage) всегда побеждает.
defaultSerializer
Serializer<unknown>
Запасной вариант, используемый, когда вызов не передаёт свой serializer.
defaultEncrypt
EncryptOptions
При encrypt: true используется как есть. При encrypt: { ... } опции вызова накладываются поверх — например, encrypt: { iterations: 200_000 } может переопределить только одно поле, при этом пароль всё равно берётся отсюда.
onError
(err: StorageError) => void
Вызывается в дополнение к (а не вместо) любого onError конкретного вызова — удобно для логирования/телеметрии на уровне приложения наряду с обработкой на конкретном месте вызова.