草庐IT

memory_compiler

全部标签

javascript - TypeScript 可以为 Closure Compiler 输出注释吗?

我正在使用TypeScript,我想使用Closure-Compiler来缩小和混淆构建TS代码后获得的JS输出。我读到GCC能够根据类型定义进行混淆。据我所知(如果我错了,请纠正我)这意味着如果我的代码上有类型注释,那么GCC将使用它们来进行更好的混淆。例如,对于obj.someProp,GCC目前在我的代码中查找someProp属性名称的所有实例,而不考虑它在哪个对象上,并替换所有实例到相同的混淆名称(例如o.a)。但是如果我在我的代码上有类型注释,GCC将能够知道哪个对象属于哪种类型并相应地对其进行混淆-因此两种不同类型的相同属性名称将被混淆为两个不同的名称。问题:我的理解正确吗

javascript - Angular Directive(指令) : Adding ng-class directive at compile time on existing template element

长话短说,这个想法是通过不必手动添加ng-class={'has-error':'formName.inputName.$invalid'}来简化模板每一个form-group所以我想创建一个指令来生成一个字符串,该字符串将被添加到模板元素中。该字符串是一个带有表达式的ng-class属性我认为创建一个在编译阶段添加ng-class属性的快速指令就足够了,但它似乎并没有削减它。指令定义对象{restrict:'C',compile:function(tElement,tAttrs){var$elem=angular.element(tElement),formName=$elem.pa

JavaScript "cache"与 "memory"

如果您在Stackoverflow上搜索如何在JS中缓存变量,您会找到指向例如cookie或本地存储的答案。另一方面,“缓存”一词经常这样使用:“缓存数组的长度,这样我们就不必每次都计算它”。当然,我们不会在cookie或本地存储中缓存长度。我的问题是:“缓存”长度的位置在哪里?它在内存中吗?如果是这样,我们为什么要使用“缓存”这个词? 最佳答案 这是一个非常多的问题,看来您在这里混淆了很多概念。希望这有助于:对于您的问题““缓存”长度的位置在哪里?它在内存中吗?”给定某个值的任何变量都存储在内存中的特定位置。在JavaScript

javascript - 是否可以在 headless chrome 中使用 window.performance.memory?

我想使用window.performance.memory来测量我的headlesschrome测试中是否有任何内存泄漏。在测试中:beforeEach(()=>{$('body').append(initHtml);console.log(window.performance.memory)});结果:MemoryInfo{}在开发控制台中:console.log(window.performance.memory)结果:MemoryInfo{totalJSHeapSize:27600000,usedJSHeapSize:16100000,jsHeapSizeLimit:153000

javascript - 在 : memory allocation versus large object manipulation 中

我有一个维护和操作大量数据的JavaScript模块。我有四个大型结构——每个基本上都是数组对象的对象的对象。他们里面有很多数据。当用户执行删除或更新等操作时,我需要遍历每个结构并可靠地修改结构以反射(reflect)更改。在某些结构中,根据用户操作,我不知道我需要更改哪个“叶”对象,所以我必须遍历所有对象,等等。在发生变化时操纵这些大型结构的另一种方法是将它们清空并从原始数据中重建它们。这就是我的问题:从性能的Angular来看,在Javascript中,循环遍历和修改现有(大型)数据结构或简单地从原始数据重建结构是否更优化?我确定答案可能是“视情况而定”,但是a)假设有大量数据;b

javascript - 我应该多次运行 Google Closure Compiler 以进一步优化我的代码吗?

我尝试将以下JavaScript代码放入ClosureCompilerwebinterface在高级优化模式下:functionf(some_object){if(some_object.foo==1){console.log(some_object.bar);}else{alert(some_object.bar);}}varmy_object={foo:1,bar:2};f(my_object);它生成了以下编译代码:vara={b:1,a:2};1==a.b?console.log(a.a):alert(a.a);但是当我把编译后的代码backintotheClosureComp

javascript - 有什么方法可以逆转 Closure Compiler(或类似的)对代码的影响吗?

我最近接手了一个项目,因为我的客户以前的网络开发人员不见了。我唯一需要处理的文件是存储在本地服务器上的文件。我遇到的唯一问题是所有JS都是通过ClosureCompiler(或类似的东西)运行的,这使得javascript读起来真的很烦人(至少对于更大的函数)。有什么东西可以帮助我在JS中重新插入vars,这样我就有了更清晰的东西可以看吗?我一直在手工做这件事,而且越来越乏味。这是我正在处理的示例:varn={},e=a.extend(n,x),y="pageLoaded",u="pageLoading",c="modLoaded",w="xhrComplete",l=true,v=f

javascript - Node : How to free buffers that get allocated outside of the V8 memory heap

我有一个应用程序,我按顺序从服务器下载mp3文件,将它们临时存储在我的服务器中,然后将它们直接流式传输到客户端,如下所示:functiondownloadNextTrack(){varrequest=http.get('http://mp3server.com',function(response){response.on('data',function(data){fs.appendFile('sometrack.mp3',data,function(err){});});response.on('end',function(){streamTrack('sometrack.mp3'

javascript - 我们可以使用 Google Closure Compiler 从完整的 .js 文件创建 externs 吗?

我想知道是否需要手动编写Google闭包编译器的外部文件。我还没有看到任何关于从我的.js文件生成这些文件的可能性。手动创建所有外部变量是一项相当大的工作,而且它也很容易出错(即错误的参数定义,因为它随时间变化......)所以我想知道是否有用于该目的的Linux工具(命令行)。如果没有,是否有办法将.js与外部文件进行比较,这样我至少可以确保它们同步。? 最佳答案 http://www.dotnetwise.com/Code/Externs/旨在做到这一点,但我自己没有使用过它,所以我不确定它的效果如何。我们有一个关于dothis

javascript - PIXI.js 的 Closure Compiler EXTERNS - 自定义对象参数注释

我正在为pixijs库准备externs文件以与闭包编译器一起使用。到目前为止,我遇到的唯一问题是自定义对象参数。这是一个简短的例子:pixi.js来源:/***Setthestyleofthetext**@param[style]{object}Thestyleparameters*@param[style.font='bold20ptArial']{string}Thestyleandsizeofthefont*@param[style.fill='black']{string|number}Acanvasfillstylethatwillbeusedonthetexteg'red