67 lines
3.2 KiB
Markdown
67 lines
3.2 KiB
Markdown
# WebApp_builder
|
|
|
|
Skript pro sestavování webových aplikací pro ESP8266/ESP32. Používá se jako Git submodul u projektu.
|
|
|
|
## Návod k použití
|
|
|
|
Pro svoji práci používá soubor `project.json`, který obsahuje parametry pro sestavení. Povinná sekce je sekce `build`, která musí obsahovat následující:
|
|
|
|
* `approotdir` - cesta ke kořenovému adresáři projektu
|
|
```json
|
|
"approotdir":"./",
|
|
```
|
|
* `outputdir` - cesta k adresáři, do kterého je umístěna sestavená verze projektu bez použití komprese souborů (určena pro kontrolu a případné ladění na PC)
|
|
```json
|
|
"outputdir":"./dist/",
|
|
```
|
|
* `datadir` - cesta k adresáři, do kterého je generovaný výsledný obsah včetně případné komprese souborů
|
|
```json
|
|
"datadir":"../AZP_IoT_PIO/data/",
|
|
```
|
|
* `flist` - jméno souboru s obsahem webu pro případnou automatickou aktualizaci ze zařízení. Není-li uvedeno, seznam se negeneruje.
|
|
```json
|
|
"flist": "flist.txt",
|
|
```
|
|
* `combine` - seznam souborů, vzniklých kombinací (spojením) souborů jiných. Určeno pro minimalizaci současně stahovaných souborů.
|
|
```json
|
|
"combine": [
|
|
{"name": "js/app.js",
|
|
"items":[
|
|
"js/l10n/l10n.js",
|
|
"js/drooltip/package/js/build/drooltip.js",
|
|
"js/MsgPop/js/msgPop.js",
|
|
"js/sparkline/sparkline.js",
|
|
"js/es6-promise.auto.min.js",
|
|
"js/SweetAlert2/dist/sweetalert2.min.js",
|
|
"js/menu.js",
|
|
"js/app.js"
|
|
]
|
|
}
|
|
],
|
|
```
|
|
* `copy` - seznam souborů a adresářů pro vytváření finální aplikace, obashuje také příznaky pro kompresi
|
|
```json
|
|
"copy": [
|
|
{"src":"img/","dst":""},
|
|
{"src":"lang/","dst":""},
|
|
{"src":"html/favicon.png","dst":"favicon.png"},
|
|
{"src":"html/index.htm","dst":"index.htm","compress": true,"istemplate":true,"flistforce":true},
|
|
{"src":"html/setup.htm","dst":"setup.htm","compress": true,"istemplate":true,"flistforce":true},
|
|
{"src":"html/update.htm","dst":"update.htm","istemplate":true},
|
|
{"src":"devices/basic.json","dst":"basic.json","flistignore": true},
|
|
{"src":"devices/acdc.json","dst":"acdc.json","flistignore": true},
|
|
{"src":"devices/nmcu.json","dst":"nmcu.json","flistignore": true},
|
|
{"src":"devices/creas.json","dst":"creas.json","flistignore": true},
|
|
{"src":"js/microajax.js","dst":"","compress": true},
|
|
{"synthetic":true, "src":"js/app.js","dst":"","compress": true},
|
|
{"synthetic":true, "src":"css/app.css","dst":"","compress": true},
|
|
{"src":"html/.htaccess","dst":".htaccess","flistignore":true}
|
|
]
|
|
```
|
|
Doplňující parametry v sekci `copy` jsou:
|
|
* `compress` - při kopírování do `datadir` se použije komprese gzip a jméno souboru se doplní o příponu `.gz`.
|
|
* `istemplate` - při kopírování se použije textový template engine s nahrazováním - určeno pro uložení čísla verze
|
|
* `flistforce` - v souboru se seznamem se použije klíčové slovo `force`, které vynutí násilný přepis souboru v cílovém zařízení
|
|
* `flistignore` - soubor se neuloží do seznamu v souboru
|
|
* `syntehtic` - příznak, že soubor pro přesun vznikl pomocí sekce `combine` a nemá se tedy hledat ve zdrojových adresářích
|