JSLint - проблемы с импортом пакетов - PullRequest
3 голосов
/ 21 марта 2012

Я пишу Java, используя Rhino.У меня есть несколько классов, написанных на java, которые я импортирую в javascript.

Но, когда я проверяю javascript на JSLint, он делает недействительным javascript, говоря:

Проблема в строке9 символов 1: «importPackage» использовался до его определения.

Вот пример из моего сценария:

importPackage(Packages.org.raj.test);
var test = "123";

Я выбрал опцию: "Предположим, Rhino "тоже, но все равно, он показывает ту же ошибку.

Как мне справиться с этой проблемой?

Обратите внимание, что стандарт ECMA не охватывает связь с Java (или с любой внешней объектной системой в этом отношении).

Ответы [ 2 ]

1 голос
/ 24 апреля 2013

Похоже, что флаг "Предположить носорога" (он же rhino: true в директиве параметров) предопределяет только несколько глобальных переменных, и importPackage не является одной из них.Вы можете увидеть полный список в коде .

Ответ Пола - это в основном правильный обходной путь - вы просто вручную объявляете каждый дополнительный глобальный объект, который используете.Этот код передает JSLint чисто:

/*global importPackage, Packages */
importPackage(Packages.org.raj.test);
var test = "123";
1 голос
/ 30 августа 2012

Я явно добавил следующую строку поверх моего скрипта

/ * глобальный importPackage: true * /

и все работает!

...