Bladeren bron

Добавлен createWebApp

Book Pauk 2 jaren geleden
bovenliggende
commit
ea62abfc9a
2 gewijzigde bestanden met toevoegingen van 35 en 2 verwijderingen
  1. 31 0
      server/createWebApp.js
  2. 4 2
      server/index.js

+ 31 - 0
server/createWebApp.js

@@ -0,0 +1,31 @@
+const fs = require('fs-extra');
+
+const webApp = require('../dist/public.json');
+const ZipReader = require('./core/Zip/ZipReader');
+
+module.exports = async(config) => {
+    const verFile = `${config.publicDir}/version.txt`;
+    const zipFile = `${config.tempDir}/public.zip`;
+
+    if (await fs.pathExists(verFile)) {
+        const curPublicVersion = await fs.readFile(verFile, 'utf8');
+        if (curPublicVersion == config.version + config.rootPathStatic)
+            return;
+    }
+
+    await fs.remove(config.publicDir);
+
+    //извлекаем новый webApp
+    await fs.writeFile(zipFile, webApp.data, {encoding: 'base64'});
+    const zipReader = new ZipReader();
+    await zipReader.open(zipFile);
+
+    try {
+        await zipReader.extractAllToDir(config.publicDir);
+    } finally {
+        await zipReader.close();
+    }
+
+    await fs.writeFile(verFile, config.version + config.rootPathStatic);
+    await fs.remove(zipFile);
+};

+ 4 - 2
server/index.js

@@ -55,6 +55,8 @@ async function init() {
     config.tempPublicDir = `${config.publicFilesDir}/tmp`;
     config.uploadPublicDir = `${config.publicFilesDir}/upload`;
 
+    config.rootPathStatic = '';
+
     configManager.config = config;///!!!
 
     await fs.ensureDir(config.dataDir);
@@ -85,8 +87,8 @@ async function init() {
 
     //web app
     if (branch !== 'development') {
-        //const createWebApp = require('./createWebApp');
-        //await createWebApp(config);
+        const createWebApp = require('./createWebApp');
+        await createWebApp(config);
     }
 }