问题标签 [google-closure-compiler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 使用 Google Closure 编译器
我正在使用 jQuery,我的所有 JS 代码都在 application.js 文件中。当我使用 Google Closure 编译器(使用高级选项)编译“application.js”时,我得到一个没有错误和警告的 js 文件。但是,我无法在我的页面中使用该文件,我在页面加载时收到错误消息“TypeError: Result of expression '$("div.tile").d' [undefined] is not a function。”
我的问题是我可以编译一个使用 jQuery 的 js 文件吗?
php - 帮助编写每个数组值重复的 php 代码
嗨,我正在使用 Closure Compiler 压缩和加入一些 JavaScript 文件,语法是这样的;
我怎样才能让它系统地从数组中添加更多文件让我们说对于 $file = array('JavaScriptA.js','JavaScriptB.js','JavaScriptC.js',..) 中的每个数组元素,它将执行以下操作代码
非常感谢您!
php - 闭包编译器执行中的php错误
当我运行php-closure我得到一个 PHP 错误
php-closure 的第 184 行是
仅当闭包已经将压缩的javascript文件写入目录一次时才会发生此错误,如果目录被清空则不会出现错误。这个错误是什么意思,我该如何避免它?
太感谢了!
javascript - 如何轻松维护跨文件 JavaScript 库开发环境
我一直在开发一个新的 JavaScript 应用程序,它的大小正在迅速增长。
我的整个 JavaScript 应用程序被封装在一个函数中,在一个文件中,方式如下:
在匿名函数和执行之后的同一个文件中,我执行以下操作:
在在线上传这个软件之前,我将我的 JavaScript 文件及其所有依赖项传递到 Google Closure Compiler 中,只使用默认的压缩,然后我有一个很好的 JavaScript 文件准备上线用于生产。
这种技术对我来说非常有效——因为它只在 DOM 中创建了一个全局足迹,并为我提供了一个非常灵活的框架来扩展应用程序的每个附加功能。但是 - 我已经到了我真的不想将整个应用程序保存在一个 JavaScript 文件中的地步。
我想从在开发期间拥有一个大的 uniqueApplication.js 文件转变为为应用程序中的每个功能提供一个单独的文件,featureOne.js - featureTwo.js - featureThree.js
一旦我完成了离线开发测试,然后我想使用一些东西,也许是 Google Closure Compiler,将所有这些文件组合在一起 - 但是我希望这些文件都在该范围内编译,就像我拥有它们时一样在一个文件中 - 我也希望它们在离线测试期间保持在同一范围内。
我看到 Google Closure Compiler 支持传入模块的参数,但我还没有真正找到有关执行此类操作的大量信息。
任何人都知道如何实现这一点 - 或者对跨多个文件编写单个 JavaScript 库但仍然只在 DOM 上留下一个足迹的开发实践有任何建议?
javascript - 在缩小期间排除调试 JavaScript 代码
我正在寻找不同的方法来缩小我的 JavaScript 代码,包括常规的JSMin、Packer 和YUI解决方案。我对新的Google Closure Compiler非常感兴趣,因为它看起来异常强大。
我注意到Dean Edwards 打包程序具有排除以三个分号开头的代码行的功能。这很方便排除调试代码。例如:
我正在花一些时间清理我的代码库,并想添加这样的提示以轻松排除调试代码。在为此做准备时,我想弄清楚这是否是最好的解决方案,或者是否有其他技术。
因为我还没有选择如何缩小,所以我想以一种与我最终使用的任何缩小器兼容的方式来清理代码。所以我的问题是:
使用分号是一种标准技术,还是有其他方法可以做到这一点?
Packer 是唯一提供此功能的解决方案吗?
其他解决方案是否也可以适应这种方式,或者他们是否有其他方法来实现这一点?
我可能最终会开始使用 Closure Compiler。我现在应该做些什么来为它做准备吗?
javascript - 为什么 Google 的 Closure Compiler 会留下一些不必要的空格或换行符?
我注意到每次使用Google 的 Closure Compiler Service时,都会在页面右侧显示的编译代码中留下一些不必要的空格。这些对应于已编译代码的托管版本中的换行符。
例如(注意换行符,每一个似乎都没有必要):
http://troy.onespot.com/static/stack_overflow/closure_spaces.js
迄今为止,我只是手动删除它们,但我很好奇它们为什么在那里。是否限制托管版本代码的行长以使其更具可读性?编译器是否足够聪明,可以故意留下或插入那些以最大化 GZIP 压缩效果?
我知道它们对文件大小的影响微乎其微,但是在缩小源脚本中的每个最后一个字节方面付出了如此多的努力,为什么它们在那里是违反直觉的。
javascript - 防止闭包编译器重命名某些变量
我有一个 javascript 文件,其中包含一个不能重命名的全局对象(_gat
来自 Google Analytics 异步跟踪器)。
Google Closure Compiler 不得重命名此对象,因为 Google Analytics 会查找具有此特定名称的变量。
我查看了提到的 Javascript Doc 符号:http ://code.google.com/closure/compiler/docs/js-for-compiler.html - 但是,我找不到任何关于“保护”的信息多变的。
无论我使用简单编译还是高级编译,问题都存在。
如何确保_gat
变量不被重命名?
javascript - 关于如何使用 Google Closure Compiler 组合多个 javascript 文件而不进行任何优化的任何想法?
关于如何使用 Google Closure Compiler 组合多个 JavaScript 文件而不进行任何优化的任何想法?具体来说,我们想使用 Closure 来部署我们组合站点 JavaScript 的两个版本:发布和调试。对于发布,我们使用--compilation_level SIMPLE_OPTIMIZATIONS --manage_closure_dependencies
的是按预期工作的。但是,对于调试,我们希望我们的 JavaScript 完整/未修改地组合在一起,以便于调试。似乎优化的最低级别是WHITESPACE_ONLY
,任何想法都会受到赞赏。
javascript - 如何使用 Google Closure 编译器删除未使用的 JavaScript 代码?
如何使用 Google Closure 编译器删除未使用的代码?
我正在使用 JQuery Slider 控件,但在 JQuery 中没有使用其他任何东西。所以我读到高级模式下的 Google Closure 编译器可以删除未使用的代码,但我不知道如何.
我有frontpage.html,它从我网站上托管的那个html页面链接到外部JQuery、JQuery UI和JQuery Slider控件。
在我的 frontpage.html 上,我还在启动 JQuery Slider 控件的 HTML 中嵌入了 JavaScript。
如何使用我使用在线 Closure Compiler来评估我的 frontpage.html、JQuery、JQuery UI 和 JQuery Slider 以删除我不使用的所有未使用的 JQuery 代码?