草庐IT

OPTIMIZATION

全部标签

javascript - Webpack4 : Two vendor libraries based on entry points

所以,我一直在寻找,但我似乎找不到任何东西,除非我的搜索技巧最近变得更糟了。但是,我正在寻找的是能够根据入口点生成两个vendor包。例如,我有3个入口点:编辑公开授权当用户登录时,它将包含auth、public和editor包的变体。当用户注销时,它只会加载公共(public)包。这两种情况都会加载vendor包,但是当我们注销时,我不需要加载编辑器和auth中所需的模块,所以希望有一种方法可以将其拆分为vendor和vendor.auth,或类似的东西。我目前仅有的优化代码如下:optimization:{concatenateModules:true,splitChunks:{c

javascript/jquery - $(document).ready() 和脚本位置

我想知道$(document).ready()以及一般的脚本是如何工作的。假设我有位于页面底部的脚本(有人告诉我出于性能原因?)。例如:假设您有一个链接,您需要阻止它的默认操作(preventDefault())。如果脚本位于页面的底部,用户是否可以在浏览器知道不点击该链接之前看到该页面并单击该链接? 最佳答案 “head”部分中的脚本在脚本标记加载到浏览器的位置(即在主体之前)进行评估。当浏览器在解析页面时遇到文档末尾的脚本标记时,也会执行它们-因此在“文档准备就绪”事件之前。加载整个页面时会触发“文档就绪”事件-即当浏览器解析'

javascript - 本地函数声明是否被缓存?

functionA(){functionB(){...}B();}函数B是在每次调用A时创建的,还是在它上面有一些缓存。不像本地化:functionA(){B();}functionB(){...}显着的性能提升?做这样的风格选择是否有效?(在这种情况下,B只是A的一个辅助函数。)或者第二个应该因为速度而受到青睐?为了可读性,应该使用还是避免使用这种样式?Benchmark.似乎FF4内联B用于局部情况,并消除了函数调用开销。其他浏览器呢? 最佳答案 在JS中声明一个内部函数可能具有在词法上绑定(bind)到外部函数的局部变量/参数

javascript - 异步加载的 Cufon 不会在 IE 中呈现

我正在创建一个使用Cufon的网站,由于大量的Javascript,页面重量特别重。因此,我正在尝试使用head.js(http://headjs.com/)异步加载脚本,如下所示:head.js("http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js",function(){head.js("/js/libs/cufon-yui.js",function(){head.js("/js/shared/Stag_Bold_700.font.js",function(){Cufon.replace('h1',{fontFamil

javascript - 延迟加载 Javascript 文件与放置在 </body> 之前的任何区别

环顾四周,找不到讨论过的具体问题。很确定差异可以忽略不计,只是对您的想法感到好奇。场景:所有不需要在页面呈现之前加载的Javascript都被放置在关闭之前标签。通过在触发DOM加载/就绪事件时执行的头部中的一些Javascript代码来延迟加载这些代码有什么好处或坏处吗?假设这只涉及下载一个完整的.js文件,而不是在使用时根据需要延迟加载几个单独的文件。希望这很清楚,谢谢。 最佳答案 在我看来,有很大的不同。当您在的底部内联JS时标记,您强制页面加载那些s是同步的(现在必须发生)和顺序的(连续),所以你会稍微减慢页面速度,因为你必

javascript - 对象方法比全局函数快吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题不敢相信我在网上找不到任何东西,也许我正在寻找错误的东西......可能差别很小或根本没有差别,但由于我正在尽我所能优化我的代码,所以我觉得值得一问。非常简单,我想知道在对象中定义和运行方法是否比全局定义和运行函数更快。例子考虑一下:(function($){$.fn.test=function(){//dosomethinghere};})(jQu

Javascript 优化,从哪里开始?

我最近开始在一家新公司工作,他们有一个现有的应用程序,其中包含1000行Javascript代码。基线包含数十个JS文件,自定义代码行超过10,000行,它们还使用多个第3方库,如Jquery、Livequery、JQTransform等。他们从用户那里收到的主要投诉之一是网站客户端运行缓慢。我的任务是优化和改进JS的性能。我的第一步显然是转向最新的Jquery库,并将JSMin合并到构建过程中。除此之外,我想知道是否有人有一些关于从哪里开始优化如此庞大的代码库的提示? 最佳答案 您可以尝试安装DynaTraceAjaxEditio

javascript - 用于命名变量和函数的单个字母

上下文我阅读了Google编写的JavaScript代码示例。它使用:用于命名变量的单个小写字母用于命名函数的单个大写字母所以代码难以辨认。问题为什么这样命名?使用什么工具来做到这一点? 最佳答案 通常当大型Javascript库投入生产时,代码会被“最小化”以......减小下载大小使逆向工程代码变得更加困难不过,我认为主要动机是#1。此过程通常涉及删除注释和空格以及将变量引用更改为单个字符等操作。例如,看看JSMin. 关于javascript-用于命名变量和函数的单个字母,我们在S

javascript - 在将所有 Javascript 文件发送到客户端之前将其连接成一个有什么好处?

例如,如果你有除了html中的漂亮之外,让所有这些在以以下形式发送给客户端之前通过运行的任务(Grunt/Gulp)连接和缩小还有什么好处? 最佳答案 将多个JS文件合并为一个文件有以下好处:与下载多个较小的文件相比,浏览器可以更高效、更快速地下载单个文件。一个http连接下载文件通常比许多http连接下载较小的文件要快。浏览器对同一域的同时连接数有限制,如果达到该限制,则某些连接必须等待其他连接完成。这会导致下载延迟。下载较少的文件使其不太可能达到此限制。此限制适用于域的所有连接(JS文件下载、CSS文件下载、框架下载、ajax调

javascript - 在 jQuery 中如何删除变量和函数

我在jQuery中有一个函数,例如。varasd;functiondosomething(){for(i=0;i如何在函数后取消设置变量?删除$asd;有了这个,我可以从内存中清除变量。但是我可以在jQuery中访问函数的析构函数吗?如何在函数的析构函数中取消设置整个函数?原因运行脚本后函数和所有全局变量都在内存中。如果我通过控制台运行某些东西,在dom准备好后-因为所有变量仍在内存中-程序将运行。所以我想清除函数的析构函数上的变量,然后重置函数,或者使它为空。因为它会从内存中刷新整个脚本,所以我的页面会更快。想象一个比单个函数大一点的数据结构,比如100个函数和800个全局变量。显示