如何在 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
中我不能使用 define
或 import
.
所以只是把它扔进 /vendor
只会让我回到同样的问题,但对于不同的变量。
一个棘手的解决方法是将它放在 /vendor
文件夹中的一个文件中,然后 app.import
该文件。这会将其添加到 vendor.js
文件中,使全局在浏览器上下文中可用。
好的,我想我找到了答案。
<script type="text/javascript">
var fooBar = require(['path/to/foo-bar']).default;
</script>
我没想到的是ember-cli用的是requirejs,弄明白之后才发现其实是requirejs的问题。
我正在将我的 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
中我不能使用 define
或 import
.
所以只是把它扔进 /vendor
只会让我回到同样的问题,但对于不同的变量。
一个棘手的解决方法是将它放在 /vendor
文件夹中的一个文件中,然后 app.import
该文件。这会将其添加到 vendor.js
文件中,使全局在浏览器上下文中可用。
好的,我想我找到了答案。
<script type="text/javascript">
var fooBar = require(['path/to/foo-bar']).default;
</script>
我没想到的是ember-cli用的是requirejs,弄明白之后才发现其实是requirejs的问题。