草庐IT

dev_compiler

全部标签

javascript - 为什么 Closure Compiler 无法识别自执行匿名函数中的类型声明?

当我通过ClosureCompiler运行一个相当大的库时,我收到了很多“Unknowntype”警告,当我的类型在自执行匿名函数中声明时,它们似乎会发生。这并没有什么奇怪的,但是如果我去掉自执行函数,类型声明似乎可以工作(至少在这个简单的测试中是这样)。我不确定我的代码注释是否有问题,或者代码中是否有任何非法内容,但我认为这完全符合标准,并且是模块化API的标准方法。下面的测试代码创建了一个命名空间(只是一个普通的旧JS对象)并附加了一个枚举(一个对象字面量)和一个函数。varmynamespace={};(function(mynamespace){/***Someenum.*@e

javascript - 防止 Google Closure Compiler 重命名设置对象

我试图让GoogleClosureCompiler在作为设置或数据传递给函数时不重命名对象。通过查看jQuery中存在的注释,我认为这可行:/**@param{Object.}data*/window.hello=function(data){alert(data.hello);};hello({hello:"World"});然而,它最终是这样的:window.a=function(b){alert(b.a)};hello({a:"World"});ajax找到函数here有这个注释,它似乎工作。那么,为什么不呢?如果数据是来自外部源或设置对象的返回值,我希望能够告诉编译器不要触摸它

javascript - 带有热重载的 webpack-dev-server 使用 css 更改重新加载整个页面

[编辑]GithubTestRepoCreatedforyoutotest!!我的热重载没有任何问题,但每当我进行单个css更改时它都会重新加载整个页面。我希望它注入(inject)任何css更改,并且理想情况下对React组件执行类似操作,除非确实需要完全重新加载。**我得到以下控制台日志**[WDS]Appupdated.Recompiling...client?cd17:41[WDS]Appupdated.Recompiling...client?8505:41[WDS]Appupdated.Recompiling...client?cd17:41[WDS]Appupdated.

javascript - Chrome Dev Console 中的蓝色数字?

在javascript中,我有一个变量,我将其推送到console.log然后递增它并再次将其推送到日志,这在Chrome开发工具中显示如下。这个变量做了一些奇怪的事情,比如如果我尝试使用+=运算符来添加它,它实际上将添加的值放在数字后面(例如如果x=5而我做了x+=3,x将等于53)。真正令人难以置信的部分是用++递增它按预期工作,但我的问题不是为什么会这样,而是为什么递增的数字在控制台中是蓝色的?如果有人能告诉我发生上述情况的可能情况,那就太好了,但我感觉控制台中的蓝色条目与此相关。那么基本上为什么在Chrome开发者控制台中,数字会显示为蓝色? 最佳答

javascript - AngularJS 1.4 : Select List Value not Initializing Correctly when List is Inserted with $compile

这里有一些快速的背景信息。我刚刚升级到Angular1.4。我正在使用用C#编写的API进行服务器端调用。我页面的一部分显示了2个选择列表(项目和子项目)。两者都应该默认为“(Selecta______)”,我将其列为每个选择的第一个选项,“值”为0。适当的ng-model变量被初始化为0。选择列表的实际HTML代码是在服务器端使用字符串连接生成的,通过$http传递给客户端,并使用调用$compile的指令插入(一点也不理想,但我的客户端有漂亮的很多链接我到这个API)。在1.4更新之前,一切都运行良好。现在,我的项目选择列表默认为空。当我检查元素时,这就是我所看到的...(Sele

javascript - 在 Chrome Dev Tools 中停用和禁用断点有什么区别

Chrome(版本23.0.1271.101)。我在OSX上,如果这很重要的话。为什么Chrome可以禁用和/或停用断点?是否有一些我不知道的用电情况?我已经注意到我可以禁用一些断点,然后停用所有断点。重新激活它们后,相同的已禁用的将被禁用。除此之外,拥有这两个选项的目的是什么? 最佳答案 DeactivateBreakpoints关闭断点功能。DisableAllBreakpoints是将每个断点标记为已禁用的快捷方式。当您比较启用所有断点和激活断点时,差异会变得更加明显。可以通过每个断点旁边的复选框启用或禁用各个断点。Disab

javascript - 如何避免 $compile :tpload errors on 401 status code response

我们正在使用AngularJS和ASP.NETMVCJsonRestAPI开发单页应用程序。当未经身份验证的客户端尝试导航到私有(private)路由(例如:/Foo/Home/Template)以获取模板时,它会自动从WebAPI和我们的AngularJS应用程序获得401响应将其重定向到登录页面。我们正在用$httpinterceptor处理401像这样:if(response.status===401){$location.path(routeToLogin);return$q.reject(response);}输入正确的凭据允许客户端获取模板。除一个细节外,一切正常;Java

javascript - Angular 的 $compile 内存泄漏?

总结为什么每次$compile运行时以下plunkr都会导致内存泄漏?http://plnkr.co/edit/HhB4croPKuN5TP2NPqq6代码解释我正在编写一个有时需要完全重新呈现其HTML的指令。它通过将其模板生成为字符串,然后将该字符串提供给$compile,最后使用jQuery删除旧DOM并将其替换为新呈现的元素来实现这一点。每次执行此操作时,应用程序都会泄漏几兆字节的内存,通常会使浏览器崩溃。Chrome堆快照显示每次都会添加分离的DOM元素树,但由于某种原因,Plunkr没有这个问题(尽管它仍然泄漏很多)。我做错了什么导致内存泄漏?“什么?生成字符串模板并重新编

javascript - Chrome Dev Tools 在大型网络应用程序中响应速度非常慢

我正在开发一个大型的、重javascript的网络应用程序。我的Chrome开发工具对XHR响应和控制台日志记录的响应时间非常慢(3-5秒)。实际的应用程序运行快速且响应迅速,只有开发工具看起来很痛苦。有谁知道为什么Chrome开发工具随着我的应用程序的增长而变得缓慢? 最佳答案 Devtools与任何其他调试器一样;它们Hook到应用程序的正常处理流程中,并存储比通常需要的信息多得多的信息。这比在不启用调试的情况下简单地呈现页面要多得多,因此它确实会更慢。也就是说,3秒响应console.log似乎很高。我建议您首先在nightl

javascript - Chrome Dev Tools 命中代码但没有断点

我在chrome开发工具上启用了断点,并且我在一行上有一个断点。我知道chrome正在命中该行,因为我将断点放在具有以下语句的行上:alert("whyisthisnotbreaking")如果我在本地主机中找到该文件,则断点有效。断点过去在本地编辑器中起作用,但现在不起作用。有没有其他人遇到过类似的问题? 最佳答案 我有一个类似的问题,没有达到我的断点。原来这是因为它是站点的部署版本,但开发工具仍然将我的本地开发文件夹映射到工作区,这意味着我打开的是本地脚本文件,而不是服务器上的脚本文件。解决方案是关闭打开的本地脚本,在导航器中打