如何使用react-native导入Scalajs Facade?错误:$ g.algoliasearch不是函数

时间:2017-05-09 16:29:52

标签: scala react-native scala.js react-native-ios scalajs-react

我想在我的scalajs应用程序中使用Facade Algoliasearch,我通过sbt导入它,但在UI上我看到$ 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 个答案:

答案 0 :(得分:0)

有两种选择:

1)只需将JavaScript依赖项作为单独的<script>标记包含在内,就像JavaScript和HTML一样。请注意,这些必须来自之前 Scala.js应用程序的<script>标记。

2)使用jsDependencies机制构建-jsDeps.js文件,该文件将所有依赖项收集到一个文件中,并将其包含在<script>标记中。 (再次,在应用程序本身之前。)

请注意,Facade库可以提供jsDependencies,您的应用程序可以使用它,但我个人不建议这样做 - 它可能导致依赖项之间的版本冲突。如果您的应用程序只是加载JavaScript本身,它往往效果最好。

如果您确定您的HTML文件已包含JavaScript,并且您收到此错误,请检查以确保在Scala.js应用程序运行之前加载JavaScript。