Просмотр исходного кода

fix: 解决window在构造函数中进行访问破坏SSR/Node环境。

layhuts 1 месяц назад
Родитель
Сommit
0be4b51eaa
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      packages/@core/base/shared/src/cache/local-storage-driver.ts

+ 6 - 0
packages/@core/base/shared/src/cache/local-storage-driver.ts

@@ -17,6 +17,12 @@ class LocalStorageDriver implements IStorageDriver {
   constructor({
                 storageType = 'localStorage',
               }: LocalStorageDriverOptions = {}) {
+    if (typeof window === 'undefined') {
+      // eslint-disable-next-line unicorn/prefer-type-error -- not a type check, it's an environment check
+      throw new Error(
+        'LocalStorageDriver is not available in non-browser environments. Use MemoryStorageDriver instead.',
+      );
+    }
     this.storage =
       storageType === 'localStorage'
         ? window.localStorage