首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSCOMPILER_PRESERVE在用KJSCompiler编译javascript之后

JSCOMPILER_PRESERVE在用KJSCompiler编译javascript之后
EN

Stack Overflow用户
提问于 2014-10-31 00:12:55
回答 2查看 401关注 0票数 3

在用KJSCompiler (https://github.com/knyga/kjscompiler)编译了我的KJSCompiler源代码之后,我得到了这个封装在代码中的奇怪函数。如果我试图将它包含在我的实时源代码中,我就会在控制台“未定义ReferenceError: JSCOMPILER_PRESERVE”中得到这个错误。

我认为出现这个问题是因为我没有在kjs编译器的JSON文件中添加“包装器”。在尝试之后,它仍然会发生。

有谁知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-07 10:04:17

我在直接通过Java使用闭包编译器时遇到了这种情况。

这似乎是由于在只检查模式下运行编译器而导致的,但是启用了保护隐藏的副作用。移除隐藏副作用的保护的延迟传递在检查模式中被跳过。

我不太清楚KJSCompiler的具体情况,但它可能有助于查看如何将编译级别更改为简单或高级,以及/或如何控制哪些检查和优化运行到KJSCompiler,例如关闭CompilerOptions.protectHiddenSideEffects

请参阅https://github.com/google/closure-compiler/issues/1875

票数 0
EN

Stack Overflow用户

发布于 2018-09-17 11:03:08

除了Steve的回答:在设置优化级别之后,将protectHiddenSideEffects设置为options.setProtectHiddenSideEffects(false);如果在设置CompilationLevel之前设置它,则对GCC版本v20180204不起作用。

代码语言:javascript
复制
    CompilationLevel.ADVANCED_OPTIMIZATIONS.setOptionsForCompilationLevel(compilerOptions);

    //To remove JSCOMPILER_PRESERVE error: https://github.com/google/closure-compiler/issues/1875
    compilerOptions.setProtectHiddenSideEffects(false);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26665571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档