在ember-cli中导入自定义库

时间:2014-08-28 17:02:09

标签: ember.js ember-cli

我在iframe中有web appEmber 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导入原则。

1 个答案:

答案 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建议你应该使用的方式