mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-19 01:17:18 +00:00
changed sync reading of index.html to async
This commit is contained in:
parent
a1d02c4a1c
commit
989422f729
1 changed files with 69 additions and 48 deletions
117
server.js
117
server.js
|
|
@ -511,54 +511,21 @@ CloudServer._readDir = function (pError, pFiles)
|
|||
lList+='<ul id=right class="panel hidden">';
|
||||
lList+=lPanel;
|
||||
lList+='</ul>';
|
||||
try{
|
||||
var lIndex;
|
||||
/* пробуем достать данные из кэша
|
||||
* с жатием или без, взависимости
|
||||
* от настроек
|
||||
*/
|
||||
var lFileData=CloudServer.Cache.get(CloudServer.INDEX);
|
||||
/* если их нет там - вычитываем из файла*/
|
||||
if(!lFileData){
|
||||
lIndex=Fs.readFileSync(CloudServer.INDEX);
|
||||
/* и сохраняем в кэш */
|
||||
CloudServer.Cache.set(CloudServer.INDEX,lIndex);
|
||||
}else lIndex=lFileData;
|
||||
|
||||
/* если выбрана опция минифизировать скрпиты
|
||||
* меняем в index.html обычный client.js на
|
||||
* минифицированый
|
||||
*/
|
||||
lIndex=lIndex.toString();
|
||||
|
||||
/* if scripts shoud be minified and
|
||||
* minification proceed sucessfully
|
||||
* we include minified version of
|
||||
* clien.js to index.html
|
||||
*/
|
||||
lIndex = CloudServer.Minify._allowed.css?
|
||||
lIndex.replace('<link rel=stylesheet href="/css/reset.css">','')
|
||||
.replace('/css/style.css',CloudServer.Minify.MinFolder + 'all.min.css')
|
||||
:lIndex;
|
||||
|
||||
lIndex = CloudServer.Minify._allowed.js?lIndex.replace('client.js',
|
||||
CloudServer.Minify.MinFolder +
|
||||
'client.min.js')
|
||||
:lIndex;
|
||||
|
||||
lIndex=lIndex.toString().replace('<div id=fm class=no-js>',
|
||||
'<div id=fm class=no-js>'+lList);
|
||||
|
||||
/* меняем title */
|
||||
lIndex=lIndex.replace('<title>Cloud Commander</title>',
|
||||
'<title>'+CloudFunc.setTitle()+'</title>');
|
||||
|
||||
/* отображаем панель быстрых клавишь */
|
||||
lList=lIndex;
|
||||
|
||||
/* если браузер поддерживает gzip-сжатие*/
|
||||
lHeader=CloudServer.generateHeaders('text/html',CloudServer.Gzip);
|
||||
}catch(error){console.log(error);}
|
||||
|
||||
var lIndex;
|
||||
/* пробуем достать данные из кэша
|
||||
* с жатием или без, взависимости
|
||||
* от настроек
|
||||
*/
|
||||
var lFileData=CloudServer.Cache.get(CloudServer.INDEX);
|
||||
/* если их нет там - вычитываем из файла*/
|
||||
if(!lFileData) {
|
||||
lIndex=Fs.readFile(CloudServer.INDEX,
|
||||
CloudServer.indexReaded(lList));
|
||||
}else {
|
||||
var lReaded_f = CloudServer.indexReaded(lList);
|
||||
lReaded_f(false, lFileData);
|
||||
}
|
||||
}else{
|
||||
/* в обычном режиме(когда js включен
|
||||
* высылаем json-структуру файлов
|
||||
|
|
@ -583,6 +550,60 @@ CloudServer._readDir = function (pError, pFiles)
|
|||
}
|
||||
};
|
||||
|
||||
CloudServer.indexReaded = function(pList){
|
||||
return function(pError, pIndex){
|
||||
if(pError){
|
||||
return console.log(pError);
|
||||
}
|
||||
|
||||
/* и сохраняем в кэш */
|
||||
CloudServer.Cache.set(CloudServer.INDEX, pIndex);
|
||||
|
||||
/* если выбрана опция минифизировать скрпиты
|
||||
* меняем в index.html обычный client.js на
|
||||
* минифицированый
|
||||
*/
|
||||
pIndex=pIndex.toString();
|
||||
|
||||
/* if scripts shoud be minified and
|
||||
* minification proceed sucessfully
|
||||
* we include minified version of
|
||||
* clien.js to index.html
|
||||
*/
|
||||
pIndex = CloudServer.Minify._allowed.css?
|
||||
pIndex.replace('<link rel=stylesheet href="/css/reset.css">','')
|
||||
.replace('/css/style.css',CloudServer.Minify.MinFolder + 'all.min.css')
|
||||
:pIndex;
|
||||
|
||||
pIndex = CloudServer.Minify._allowed.js?pIndex.replace('client.js',
|
||||
CloudServer.Minify.MinFolder +
|
||||
'client.min.js')
|
||||
:pIndex;
|
||||
|
||||
pIndex=pIndex.toString().replace('<div id=fm class=no-js>',
|
||||
'<div id=fm class=no-js>'+pList);
|
||||
|
||||
/* меняем title */
|
||||
pIndex=pIndex.replace('<title>Cloud Commander</title>',
|
||||
'<title>'+CloudFunc.setTitle()+'</title>');
|
||||
|
||||
/* отображаем панель быстрых клавишь */
|
||||
pList=pIndex;
|
||||
|
||||
var lHeader;
|
||||
/* если браузер поддерживает gzip-сжатие*/
|
||||
lHeader=CloudServer.generateHeaders('text/html',CloudServer.Gzip);
|
||||
|
||||
/* если браузер поддерживает gzip-сжатие - сжимаем данные*/
|
||||
if(CloudServer.Gzip){
|
||||
Zlib.gzip(pList,CloudServer.getGzipDataFunc(lHeader,CloudServer.INDEX));
|
||||
}
|
||||
/* если не поддерживаеться - отсылаем данные без сжатия*/
|
||||
else
|
||||
CloudServer.sendResponse(lHeader,pList,CloudServer.INDEX);
|
||||
};
|
||||
};
|
||||
|
||||
/* Функция генерирует функцию считывания файла
|
||||
* таким образом, что бы у нас было
|
||||
* имя считываемого файла
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue