Как импортировать Scalajs Facade с реактивной системой? Ошибка: $g.algoliasearch не является функцией

Я хочу использовать фасад Algoliasearch в своем приложении scalajs, я импортировал его через sbt, но в пользовательском интерфейсе я вижу, что $g.algoliasearch не является функцией. Я предполагаю, что это из-за отсутствующих библиотек JavaScript. Я включил в свой пакет package.json зависимости Algoliaseach-client-javascript и установил пряжу.

Теперь я не уверен, когда я использую фасад, как я предоставляю / связываю эти зависимости. Если бы кто-то мог предоставить пример кода, который был бы полезен

Я говорю о любом из этих фасадов https://github.com/DefinitelyScala/scala-js-algoliasearch

Я добавил jsDependencies, как это

jsDependencies ++= Seq( "org.webjars.bower" % "github-com-algolia-algoliasearch-client-javascript" % "3.18.1" / "3.18.1/reactnative.js") Я надеялся, что выше будет объявите что-то подобное в моем файле scalajs.output.ios var Algoliasearch = require(...), но я не вижу ни одной записи, подобной этой, и я все еще не уверен, как импортировать ее, чтобы избежать следующей ошибки:

$g.algoliasearch не является функцией

Любая помощь, что я здесь скучаю, пожалуйста?

1 ответ

Есть два варианта:

1) Просто включите зависимости JavaScript как отдельные <script> теги, как обычно для JavaScript и HTML. Обратите внимание, что они должны прийти до <script> тег для приложения Scala.js.

2) Используйте механизм jsDependencies для создания файла -jsDeps.js, который собирает все ваши зависимости в один файл, и включает его в <script> тег. (Опять же, перед самой заявкой.)

Обратите внимание, что библиотека фасада может обеспечить jsDependenciesи ваше приложение может использовать это, но я лично не рекомендую это - это может привести к конфликтам версий между зависимостями. Это имеет тенденцию работать лучше всего, если ваше приложение просто загружает сам JavaScript.

Если вы уверены, что ваш HTML-файл уже содержит JavaScript, и вы получаете эту ошибку, убедитесь, что JavaScript загружается до запуска приложения Scala.js.

Другие вопросы по тегам