Добавлена упаковка web-приложения внутрь исполнимого файла

This commit is contained in:
Book Pauk
2022-09-29 13:54:28 +07:00
parent bf5140fe0f
commit 03e89502d5
7 changed files with 78 additions and 34 deletions

View File

@@ -464,11 +464,14 @@ class WebWorker {
async periodicCleanDir(dirConfig) {
try {
for (const config of dirConfig)
await fs.ensureDir(config.dir);
let lastCleanDirTime = 0;
while (1) {// eslint-disable-line no-constant-condition
//чистка папок
if (Date.now() - lastCleanDirTime >= cleanDirPeriod) {
for (const config of Object.values(dirConfig)) {
for (const config of dirConfig) {
try {
await this.cleanDir(config);
} catch(e) {

23
server/createWebApp.js Normal file
View File

@@ -0,0 +1,23 @@
const fs = require('fs-extra');
const webApp = require('../dist/public.json');
const ZipReader = require('./core/ZipReader');
module.exports = async(config) => {
const zipFile = `${config.tempDir}/public.zip`;
await fs.writeFile(zipFile, webApp.data, {encoding: 'base64'});
const zipReader = new ZipReader();
await zipReader.open(zipFile);
await fs.remove(config.publicDir);
try {
await zipReader.extractAllToDir(config.publicDir);
} finally {
await zipReader.close();
}
await fs.remove(zipFile);
};

View File

@@ -52,6 +52,10 @@ async function init() {
await fs.ensureDir(config.tempDir);
await fs.emptyDir(config.tempDir);
//web app
const createWebApp = require('./createWebApp');
await createWebApp(config);
//cli
if (argv.help) {
showHelp();