کاهش حجم فایل های جاوا اسکریپت

سلام دوستان
من شنیدم نرم افزار هایی برای کاهش حجم فایل های جاوا اسکریپت برای قرار گیری روی سرور و یا کش کردن آنها وجود داره
کسی اطلاعات بیشتری داره ؟
ممنون میشم به اشتراک بگذاره ...
 

eAmin

Well-Known Member
سلام.

برای کم حجم کردن فایلهای جاوااسکریپت نرم افزارهایی وجود دارن، نه تنها نرم افزار بلکه سایتهایی هستن که آنلاین اینکار رو برای شما انجام می دن. که با حستحو کردن در موتورهای جستجو به نتایج قابل قبولی دست پیدا می کنید.
JavascriptCompressor.com
به همراه همین روش شما می تونید از کمپرس کردن محتوای سایت ( البته سمت سرور ) می تونید از روش های مثل GZip استفاده کنید که این امر موجب می شه تا حجم محتوای سایتتون تا دو برابر یا بیشتر پایین بیاد!
 

P.H.P

Member
compress اشتباس
شاید حجم رو بیشتر کنه ولی کمتر نمیکنه
کمتر کنه Extract کردن مشکل تره
چون بازم کد ها باید از حالت Compress خارج بشن

اینکد کردن هم به همین شکله
 
من هم فکر می کنم نتایج جالبی نباید داشته باشه ...
چون هر فشرده سازی متقابلن الگوریتم معکوسی رو هم می طلبه ...:cool:
خوب نظر شما چیه؟
آیا این کار واسه سایت ها مفیده؟
 

eAmin

Well-Known Member
compress اشتباس
شاید حجم رو بیشتر کنه ولی کمتر نمیکنه
کمتر کنه Extract کردن مشکل تره
چون بازم کد ها باید از حالت Compress خارج بشن

اینکد کردن هم به همین شکله

خیر شما دارید اشتباه می کنید!
به نظرتون این کد بهینه هست:
کد:
function obj()
{
    clearTimeout(dialTimeout);
    
    var cpuUpdated = false;
    var memoryUpdated = false;
    var cpuDiff = 0;
    var memDiff = 0;

    var oMachine = new machineStatus();
    
    if (Math.round(intCPUCurrent) != Math.round(oMachine.CPUUsagePercentage))
    {
        cpuDiff = Math.abs(intCPUCurrent - oMachine.CPUUsagePercentage);
        intCPUCurrent = oMachine.CPUUsagePercentage;
        writeMeter(0, numberFormat(oMachine.CPUUsagePercentage) + "%");
        
        cpuUpdated = true;
    }
    
    if (Math.round(intMEMCurrent) != Math.round(oMachine.memoryPercentage))
    {
        memDiff = Math.abs(intMEMCurrent - oMachine.memoryPercentage);
        intMEMCurrent = oMachine.memoryPercentage;
        writeMeter(1, numberFormat(oMachine.memoryPercentage) + "%");
        
        memoryUpdated = true;
    }
    
    if (cpuUpdated || memoryUpdated)
    {
        // something changed...
        if ((cpuDiff < intNoAnimThresh) && (memDiff < intNoAnimThresh))
        {
            // too small - don't animate
            moveDial(cpuUpdated, (oMachine.CPUUsagePercentage - intCPUDialPos), memoryUpdated, (oMachine.memoryPercentage - intMEMDialPos), intRotateStep);
        }
        else
        {
            // animate as usual
            moveDial(cpuUpdated, ((oMachine.CPUUsagePercentage - intCPUDialPos) / intRotateStep), memoryUpdated, ((oMachine.memoryPercentage - intMEMDialPos) / intRotateStep), 0);
        }
    }
    
    gadgetTimeout = setTimeout("animateGadget()", 1000);
}
یا این:
کد:
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('p q(){r(s);6 7=g;6 8=g;6 b=0;6 c=0;6 2=t u();9(3.a(d)!=3.a(2.4)){b=3.h(d-2.4);d=2.4;i(0,j(2.4)+"%");7=k}9(3.a(e)!=3.a(2.5)){c=3.h(e-2.5);e=2.5;i(1,j(2.5)+"%");8=k}9(7||8){9((b<l)&&(c<l)){m(7,(2.4-n),8,(2.5-o),f)}v{m(7,((2.4-n)/f),8,((2.5-o)/f),0)}}w=x("y()",z)}',36,36,'||oMachine|Math|CPUUsagePercentage|memoryPercentage|var|cpuUpdated|memoryUpdated|if|round|cpuDiff|memDiff|intCPUCurrent|intMEMCurrent|intRotateStep|false|abs|writeMeter|numberFormat|true|intNoAnimThresh|moveDial|intCPUDialPos|intMEMDialPos|function|obj|clearTimeout|dialTimeout|new|machineStatus|else|gadgetTimeout|setTimeout|animateGadget|1000'.split('|'),0,{}))
منظور از کمپرس کردن اینه! و نیاز به DeCompress نیست. چون این کدها بصورت رانتایم قابل اجرا شدن هست.
 

foranyone

Well-Known Member
امین جان به نظرتون این کمپرس کردن میتونه یه روشی باشه که بقیه نتونن کد ها رو بعدن تغیر بدن؟

و در ضمن با وجود چنین روش هایی چرا فریم ورک ها رو کمپرس نمی کنن؟
 

eAmin

Well-Known Member
امین جان به نظرتون این کمپرس کردن میتونه یه روشی باشه که بقیه نتونن کد ها رو بعدن تغیر بدن؟

و در ضمن با وجود چنین روش هایی چرا فریم ورک ها رو کمپرس نمی کنن؟
سلام.

تا حدودی می شه با این روشها از دسترسی کدها به افراد مبتدی و متوسط جلوگیری کرد ولی راه 100% نیست، چون اگر یک فرد حرفه ای باشه خیلی راحت می تونه یک اسکریپت دیگه بنویسه تا این کدها رو decode یا decompress کنه. ولی اگر شما واقعا می خواید جلوی دسترسی به کدهاتون رو بگیرید می تونید از نرم افزارهایی استفاده کنید که کدهاتون رو به اصطلاح Obfuscate کنن.
که به نظر این یه تیکه کدها ارزش این کارها رو ندارن، اصلا جاوااسکریپت خودش open source هست.

در واقع از این روشها هم برای کم کردن حجم فریم ورکها استفاده می کنن، بستگی به فرد داره که بخواد از این روشها استفاده کنه یا خیر.
 

جدیدترین ارسال ها

بالا