Closure Compiler可以配置为向错误提示所选类型的警告。当开发团队希望将JS保持在更严格的标准时,这很有用。但是,我遇到了一个问题,我们依赖的库(例如RequireJS)并不那么严格。所以当我这样做时:
java -jar compiler.jar --js input.js
--compilation_level ADVANCED_COMPILATION
--externs require.js
--jscomp_error=missingProperties
构建在RequireJS中缺少属性错误时失败。当然,没有错误升级,构建成功。
在Require的情况下,公共符号很少,创建一个虚假的externs文件而不是使用真实的东西是微不足道的。但这不会扩展 - 我们使用无数其他库来维护单独的外部合同。
我看到两种可能的解决方案,但没有足够的信息来执行任何一种解决方案。要么(1)让闭关回到外部的正常警告配置;或(2)使用能够可靠/一致地提取给定图书馆的外部合同的工具。或者我没有想过的任何其他解决方案。
答案 0 :(得分:2)
您想要创建外部文件,而不是使用原始源。使用原始源仅适用于非常简单的库。我知道有一些工具可以提取外部,但它们不提供类型信息。通常,您想要向库维护人员询问某些内容,然后询问Closure Compiler邮件列表,然后自己构建(并共享它)。