我正在将我的余烬应用移植到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
我无法使用define
或import
。
所以把它扔进/vendor
只会让我回到同样的问题,但是对于另一个变量。
答案 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问题。