我正在将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}}
答案 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。
继续阅读: