Yuki Takei 4 лет назад
Родитель
Сommit
8cd25455ee

+ 2 - 1
packages/app/src/server/crowi/express-init.js

@@ -1,3 +1,4 @@
+import mongoose from 'mongoose';
 
 module.exports = function(crowi, app) {
   const debug = require('debug')('growi:crowi:express-init');
@@ -60,7 +61,7 @@ module.exports = function(crowi, app) {
 
     const Page = crowi.model('Page');
     const User = crowi.model('User');
-    const Config = crowi.model('Config');
+    const Config = mongoose.model('Config');
     app.set('tzoffset', crowi.appService.getTzoffset());
 
     req.csrfToken = null;

+ 3 - 2
packages/app/src/server/crowi/index.js

@@ -5,6 +5,7 @@ import mongoose from 'mongoose';
 
 import pkg from '^/package.json';
 
+import CdnResourcesService from '~/services/cdn-resources-service';
 import InterceptorManager from '~/services/interceptor-manager';
 import Xss from '~/services/xss';
 import loggerFactory from '~/utils/logger';
@@ -25,14 +26,13 @@ const PluginService = require('../plugins/plugin.service');
 const sep = path.sep;
 
 function Crowi() {
-  const self = this;
-
   this.version = pkg.version;
   this.runtimeVersions = undefined; // initialized by scanRuntimeVersions()
 
   this.publicDir = path.join(projectRoot, 'public') + sep;
   this.resourceDir = path.join(projectRoot, 'resource') + sep;
   this.localeDir = path.join(this.resourceDir, 'locales') + sep;
+  this.viewsDir = path.join(projectRoot, 'src', 'server', 'views') + sep;
   this.tmpDir = path.join(projectRoot, 'tmp') + sep;
   this.cacheDir = path.join(this.tmpDir, 'cache');
 
@@ -58,6 +58,7 @@ function Crowi() {
   this.socketIoService = null;
   this.pageService = null;
   this.syncPageStatusService = null;
+  this.cdnResourcesService = new CdnResourcesService();
   this.interceptorManager = new InterceptorManager();
   this.slackBotService = null;
   this.xss = new Xss();

+ 8 - 7
packages/app/src/services/cdn-resources-service.js

@@ -1,8 +1,9 @@
+import loggerFactory from '~/utils/logger';
+import { resolveFromRoot } from '~/utils/project-dir-utils';
+
 const { URL } = require('url');
 const urljoin = require('url-join');
 
-const helpers = require('@commons/util/helpers');
-
 const { envUtils } = require('growi-commons');
 
 const cdnLocalScriptRoot = 'public/js/cdn';
@@ -14,7 +15,7 @@ const cdnLocalStyleWebRoot = '/styles/cdn';
 class CdnResourcesService {
 
   constructor() {
-    this.logger = require('~/utils/logger')('growi:service:CdnResourcesService');
+    this.logger = loggerFactory('growi:service:CdnResourcesService');
 
     this.loadManifests();
   }
@@ -24,7 +25,7 @@ class CdnResourcesService {
   }
 
   loadManifests() {
-    this.cdnManifests = require('@root/resource/cdn-manifests');
+    this.cdnManifests = require('^/resource/cdn-manifests');
     this.logger.debug('manifest data loaded : ', this.cdnManifests);
   }
 
@@ -50,14 +51,14 @@ class CdnResourcesService {
    * @param {CdnResourceDownloader} cdnResourceDownloader
    */
   async downloadAndWriteAll(cdnResourceDownloader) {
-    const CdnResource = require('@commons/models/cdn-resource');
+    const CdnResource = require('~/models/cdn-resource');
 
     const cdnScriptResources = this.cdnManifests.js.map((manifest) => {
-      const outDir = helpers.root(cdnLocalScriptRoot);
+      const outDir = resolveFromRoot(cdnLocalScriptRoot);
       return new CdnResource(manifest.name, manifest.url, outDir);
     });
     const cdnStyleResources = this.cdnManifests.style.map((manifest) => {
-      const outDir = helpers.root(cdnLocalStyleRoot);
+      const outDir = resolveFromRoot(cdnLocalStyleRoot);
       return new CdnResource(manifest.name, manifest.url, outDir);
     });