如何使用 Google Closure API 移除调试代码
How to remove debug code with Google Closure API?
Google闭包文档(查找ENABLE_DEBUG
var)解释了如何通过将标志定义--define='ENABLE_DEBUG=false'
传递给编译器来更改变量。 Google Closure API 不支持define
选项。同时,wiki表示REST服务(和API?)支持debug
选项。但是如何在代码中使用它呢?创建 per 变量无济于事,它保持不变:
/** @define {boolean} */
var debug = true;
你可以做什么的例子:
/** @define {boolean} */
var MY_DEBUG = false;
if (MY_DEBUG){
debuga = function(myparam, myparam2){
console.log(myparam, myparam2);
// Big debug stuff..
};
debugb = function(myparam, myparam2){
console.log(myparam, myparam2);
// Big debug stuff..
};
}
else{
debuga = function(myparam, myparam2){};
debugb = function(myparam, myparam2){};
}
debuga("Hello","World");
您可以使用定义--define='MY_DEBUG=false'
来控制MY_DEBUG
的值
结果如下
// SIMPLE_OPTIMIZATION // ADVANCED_OPTIMIZATION
var DEBUG=!1; debuga=function(){};
debuga=function(a,b){}; debugb=function(){};
debugb=function(a,b){}; debuga("Hello","World");
debuga("Hello","World");
如果您使用的是闭包库支持,则可以包含CLOSURE_DEFINES的定义以及发送到编译器的源代码的重置。
要查看此操作,您可以执行以下操作:
http://closure-compiler.appspot.com/home
// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @use_closure_library true
// ==/ClosureCompiler==
var CLOSURE_DEFINES = {
'FOO' : true
}
/** @define {boolean} */
var FOO = false;
if (FOO) {
alert('me');
}
这导致:
alert("me");
相关文章:
- 如何调试Javascript代码或函数
- 调试此代码?警报不起作用
- 如何在 JavaScript 代码中调试点击事件处理
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 广告块加调试,undersanding代码库
- 使用Google闭包编译器调试代码删除
- 如何使用SAML和C#调试Windows Phone 8.1应用程序的Javascript代码
- 在vs.net 2010中调试JavaScript代码
- 如何使eval'd调试器可访问的javascript代码
- 在与WebPack捆绑的Visual Studio中调试JavaScript代码
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- 是否有可能在 WebBrowser 控件中调试 JavaScript 代码
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- 使用闭包编译器简单优化从函数内部删除调试代码
- 如何使用 Google Closure API 移除调试代码
- 在部署到生产环境时设置开发环境标志并消除调试代码
- 动态启用/禁用调试代码
- 如何使用WebMatrix和Visual Studio调试代码
- JavaScript forEach()调试:代码审查
- Javascript结构,以便轻松地提供不同级别的调试代码