更新:****不再支持或维护JS版本的闭包编译器。https://github.com/google/closure-compiler-npm/blob/master/packages/google-closure-compiler-js/readme.md
我试图找到是否有一种方法来删除“调试器”关键字在编译过程中,我使用的javascript版本google-closure-compiler与gulp。
通过查看文档,我们可以清楚地看到,通过执行以下操作,我们可以在编译期间设置停止/显示错误消息的标志。
https://github.com/google/closure-compiler/wiki/Flags-and-Options
--jscomp_off
翻译成“咕噜”,就是:
const googleClosureOptions = {
...
jscomp_error:"checkDebuggerStatement"
}
然而,这通过抛出错误或显示警告来停止编译。
zyxcdafg.js:1444: ERROR - [JSC_DEBUGGER_STATEMENT_PRESENT] Using the debugger statement can halt your application if the user has a JavaScript debugger running.
debugger;
^^^^^^^^^
但是我想实现的是删除debugger关键字。这是否可以使用googleclosure实现。我找不到任何与此相关的标志或选项。
更新:****不再支持或维护JS版本的闭包编译器。https://github.com/google/closure-compiler-npm/blob/master/packages/google-closure-compiler-js/readme.md
2条答案
按热度按时间epggiuax1#
不,我不这么认为。我建议你用别的方法来做。比如
sed
:类似的操作将
dist
文件夹中的find
文件**以.js
**结尾,然后exec
-utesed
将debugger;
的所有示例替换为空。您可以将其添加到调用闭包编译器构建的脚本中。
6tr1vspr2#
编译器没有用于定义自定义代码移除传递的命令行API,但编译器的体系结构允许注册自定义传递,并且移除调试器语句的传递应该很简单:
一般结构如下:
https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/CheckDebuggerStatement.java