2016-09-04 2 views
2

Единственный способ, которым я знаю, понять, что метод или доступ к свойствам отсутствует, декларация externs - это использование компиляции в расширенном режиме, а затем очень тщательное тестирование результата. Есть ли способ лучше?Есть ли способ обнаружить недостающие внешние элементы?

ответ

1

У меня есть два общих правила для решения этой проблемы. Большинство проблем следует избегать, применяя эти правила.

  1. Генерировать externs.js с помощью генератора решить проблемы, связанные с внешними библиотеками
  2. использования aget, aset, чтобы взаимодействовать с не-clojurescript объекта расслоение плотной. Используйте .-property в объекте js, управляемом clojurescript.

http://squirrel.pl/blog/2013/03/28/two-ways-to-access-properties-in-clojurescript/

Некоторые Генераторы существует.

http://michaelmclellan.me/javascript-externs-generator/

В случаях Вам необходима дополнительная информация

https://github.com/cljsjs/packages/wiki/Creating-Externs

+2

Можно отметить, что '' aget' & aset' предназначены для массивов и что они также работают на объектах является реализация подробно. Предпочтительный способ доступа к свойствам объекта должен быть через goog.object/get' и другие функции в этом пространстве имен. –

Смежные вопросы