如何在 ember-cli 环境中定义全局变量?

How do a define a global variable in the ember-cli environment?

我正在将我的 ember 应用移植到 ember-cli。我有我正在使用的顶级函数,它定义为 var fooBar = function(a) { };.

我将其移至 app/utils/foo-bar.js(全部在 js/app.js 中),并在文件末尾添加了 export default fooBar;

我认为如果我使用它的地方可以进行导入就好了,但是由于我不想深入的原因,我需要定义为全局变量。

但我仍然希望它在 app/utils/ 中并能够导入它,因为我可能会重写导致我有一天需要它成为全球性的东西。

有什么方法可以在我的 index.html 中添加一个 <script> 标签来查找模块并将其分配给全局变量吗?

编辑:

我想成为全局函数的 forBar 函数需要通过 import 语句引用另一个变量。但是在 /vendor 中我不能使用 defineimport.

所以只是把它扔进 /vendor 只会让我回到同样的问题,但对于不同的变量。

一个棘手的解决方法是将它放在 /vendor 文件夹中的一个文件中,然后 app.import 该文件。这会将其添加到 vendor.js 文件中,使全局在浏览器上下文中可用。

好的,我想我找到了答案。

<script type="text/javascript">
    var fooBar = require(['path/to/foo-bar']).default;
</script>

我没想到的是ember-cli用的是requirejs,弄明白之后才发现其实是requirejs的问题。