1

我将 qooxdoo 与谷歌地图 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,有和没有括号,单独使用,googlewith google.google*with google.*,withgoogle.maps.LatLng显式(以及所有其他的)和其他一些变体。在咖啡脚本中,我尝试将它们全部放在一个###块中,也放在文件顶部的一个块中,如下所示:

`/**
  * @ignoreUndefined google
  */`

或者

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

(反引号将其直接插入 javascript 源代码中)。

我真正想做的是放一些东西config.json告诉它停止抱怨google。*(这比每个文件更简单,因为它会在每个文件中),但我找不到这样做的方法。这开始成为一个问题,因为我在Unknown global symbol used: 'google...的页面中遗漏了真正的错误

请问谁能告诉我我做错了什么?


编辑

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

{
    ...

    "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"
            }
        }
    }
}
4

1 回答 1

2

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

{
  "config-warnings" :
  {
    "job-shadowing" : ["source"],
  },

  ...

  "jobs" :
  {
    ...

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

改变config.json类似的东西也应该在 qooxdoo 2.1.1 中起作用。

继续阅读:

于 2013-07-18T16:25:48.520 回答