使用coffeescript抑制qooxdoo中的“未知全局符号”警告

时间:2013-07-17 20:19:06

标签: javascript coffeescript javadoc qooxdoo

我正在将qooxdoo与google maps API结合使用。我实际上正在将它与coffeescript结合使用,但在我转移到coffeescript之前我遇到了同样的问题(虽然我怀疑coffeescript没有帮助)。

当我构建项目时,我会得到一个很多这样的行:

  - Warning: myproj.App (22,50): Unknown global symbol used: 'google'
  - Warning: myproj.App (22,76): Unknown global symbol used: 'google.maps'
  - Warning: myproj.App (23,21): Unknown global symbol used: 'google'
  - Warning: myproj.App (23,47): Unknown global symbol used: 'google'
  - Warning: myproj.App (23,74): Unknown global symbol used: 'google.maps'
  - Warning: myproj.App (15,18): Unknown global symbol used: 'google.maps.LatLng'

我发现有很多对@ignoreUndefined@ignore的引用来解决这个问题,所有这些都应该放在像这样的javadoc注释中:

/**
 * @ignore(google.*)
 */

然而,我一直无法让它发挥作用。我已经尝试了带有和不带括号的@ignoreUndefined和@ignore,google就是google. google*google.*google.maps.LatLng###明确(以及所有其他的)和一些其他变体。在coffeescript中,我尝试在`/** * @ignoreUndefined google */` 块中以及文件顶部的块中看起来像这样:

`/** @ignore(google) */`

config.json

(反引号直接将其粘贴到javascript源中,不受干扰)。

我真正想做的是在Unknown global symbol used: 'google中添加一些内容,告诉它停止抱怨google。*(这会比每个文件更简单,因为它会出现在每个文件中),但我可以'找到一种方法来做到这一点。这开始成为一个问题,因为我在{ ... "config-warnings" : { "job-shadowing": ["common", "lint", "source-all", "build"] }, "jobs" : { "build" : { "run" : [ "coffee-compile", "build-resources", "build-script", "build-files" ] }, "source-all" : { "run" : [ "coffee-compile", "source-all-script" ] }, "common": { "lint-check": { "allowed-globals": [ "google" ] } }, "lint": { "lint-check": { "allowed-globals": [ "google" ] } }, "coffee-compile" : { "extend": ["common"], "shell" : { "command": "coffee --bare --compile --output ./source/class/myapp/ ./coffee/myapp/*.coffee" } } } } 的页面中错过了真正的错误......

任何人都可以告诉我我做错了吗?


修改

感谢理查德,我现在有了它的工作。如果它对其他人有用,我的config.json看起来像这样(删除了无关的位):

{{1}}

1 个答案:

答案 0 :(得分:2)

我假设您正在使用qooxdoo 3.0(当前的github主分支 - 尚未发布但很快),它引入了@ignore语法(取代旧的#ignore语法)。我在config.json

中得到了这样的结果
{
  "config-warnings" :
  {
    "job-shadowing" : ["source"],
  },

  ...

  "jobs" :
  {
    ...

    "source" :
    {   
      "lint-check" : { 
        "allowed-globals" : [ 
           "google"
        ]   
      }   
    }   
  }
}

更改config.json之类的内容也适用于qooxdoo 2.1.1。

继续阅读: