我使用rhino编写java脚本。我用java编写了几个用javascript编译的类。
但是,当我针对JSLint验证javascript时,它会使javascript无效:
第9行问题1:'importPackage'在定义之前使用过。
以下是我的脚本中的示例:
importPackage(Packages.org.raj.test);
var test = "123";
我选择了选项:“假设Rhino”,但仍然显示相同的错误。
我该如何处理这个问题?
请注意,ECMA标准不包括与Java(或任何外部对象系统)的通信。
答案 0 :(得分:1)
我已在脚本
上明确添加了以下行/ * global importPackage:true * /
它有效!
答案 1 :(得分:1)
看起来“假设Rhino”标志(在options指令中又名rhino: true
)只为你预定义了一些全局变量,importPackage
不是其中之一。您可以看到完整列表in the code。
Paul的回答基本上是正确的解决方法 - 您只需手动声明您使用的每个额外全局。这段代码干净地传递了JSLint:
/*global importPackage, Packages */
importPackage(Packages.org.raj.test);
var test = "123";