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

imprv load configs to be done once

ryoji-s 2 лет назад
Родитель
Сommit
85f8ed804b

+ 7 - 2
apps/app/src/pages/utils/commons.ts

@@ -183,8 +183,13 @@ export const skipSSR = async(page: PageDocument): Promise<boolean> => {
     return true;
   }
 
-  const { configManager } = await import('~/server/service/config-manager');
-  await configManager.loadConfigs();
+  const configManager = await import('~/server/service/config-manager')
+    .then(async(mod) => {
+      if (!mod.configManager.isInitialized) {
+        await mod.configManager.loadConfigs();
+      }
+      return mod.configManager;
+    });
   const ssrMaxRevisionBodyLength = configManager.getConfig('crowi', 'app:ssrMaxRevisionBodyLength');
   if (ssrMaxRevisionBodyLength < page.latestRevisionBodyLength) {
     return true;

+ 1 - 1
apps/app/src/server/service/config-manager.ts

@@ -58,7 +58,7 @@ class ConfigManagerImpl implements ConfigManager, S2sMessageHandlable {
 
   private lastLoadedAt?: Date;
 
-  private get isInitialized() {
+  get isInitialized() {
     return this.lastLoadedAt != null;
   }