我在iframe中有web app
和Ember app
。我想将自定义库从web app
导入到ember app
,就像全局变量一样。库看起来像具有功能的对象:
var helpers = {
helper1: function() {},
helper2: function() {}
};
使用套接字的库,对于两个应用程序都是一样的。
我写道:
app.import("./../../../public/scripts/js-helpers.js"); //file located in web app
我无法访问项目和ember-cli复制文件夹helpers
中的变量public
到其工作文件夹中。对不起,如果问题很愚蠢,我无法理解ember-cli
导入原则。
答案 0 :(得分:7)
我会提出一个解决方案,我认为这是最简单的解决方案。您将不会拥有全局范围的变量,但您使用的是ES6模块方法。
例如,假设您在app_name/lib/
下有一个名为helper.js
的文件。 lib
是您为保存自定义库而创建的目录。您不必使用该名称。请使用export default
命令:
export default {
helper1: function() {},
helper2: function() {}
};
然后,假设您需要在路线中使用此功能。这可能是一条这样的路线:
import helper from 'app_name/lib/helper';
export default Ember.Route.extend({
model: function(){
helper.helper1();
}
helper
是您导入的内容的名称,代表您在helper.js
中导出的对象。这种方法似乎是Ember-CLI建议你应该使用的方式