Добавлена упаковка web-приложения внутрь исполнимого файла
This commit is contained in:
@@ -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
23
server/createWebApp.js
Normal 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);
|
||||
};
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user