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

时间:2015-12-02 08:14:55

标签: javascript ember.js ember-cli

我正在将我的余烬应用移植到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只会让我回到同样的问题,但是对于另一个变量。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

我没有意识到的是ember-cli正在使用requirejs,一旦我想到这一点,我意识到这实际上是一个requirejs问题。