如何将纯 javascript 文件包含到我们的 ember 应用程序中?

How can I include a pure javascript file into our ember application?

我们的团队正在开发一个新网站,该网站将使用 Algolia 作为我们的搜索引擎。问题是没有 ember 模块可以使用它(它们都是旧的或未完成的)。

因此,为了使用 Algolia,我们需要在我们的应用程序中包含一个普通的 javascript 文件。做这个的最好方式是什么?我们发现如果我们将脚本包含在我们的 index.html.

中它会起作用

看起来像这样

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    {{content-for "head"}}

    {{content-for "head-footer"}}

  </head>
  <body>
    {{content-for "body"}}

    <!-- Include Scripts Here -->
    <script src="algolia.js"></script>


    {{content-for "body-footer"}}
  </body>
</html>

我们正在将 javascript 文件放入我们的 index.html。虽然这似乎可行,但我有点怀疑这不是问题的 ember 解决方案。有没有其他方法可以包含外部 javascript 文件以在我们的程序中使用?或者这个解决方案就这样很好吗?

在 ember 指南的 Managing Dependencies 部分,给出了一个策略。

我们在项目中使用几乎相同的策略:

  1. 搜索合适的 ember 插件。如果找到任何插件并且插件正常(最新、易于使用、没有错误),请选择该插件。
  2. 如果没有合适的 ember 插件,请搜索 bower 或 npm 包。使用 npm 包比使用 bower 包要难一些。
  3. 如果没有合适的发行版,只需将js文件复制到vendor目录下,在ember-cli-build文件中用app.import导入即可使用。 Ref

实际上,我们通常不喜欢修改index.html