在ember-cli中导入自定义库

use*_*168 4 ember.js ember-cli

我有web appEmber appiframe.我想从自定义库导入web appember app类似的全局变量.库看起来像具有功能的对象:

var helpers = {
    helper1: function() {},
    helper2: function() {}
};
Run Code Online (Sandbox Code Playgroud)

库使用套接字,对于两个应用程序都是一样的.

我写:

app.import("./../../../public/scripts/js-helpers.js"); //file located in web app 
Run Code Online (Sandbox Code Playgroud)

我无法访问helpersproject和ember-cli copy文件夹中的变量public到他们的工作文件夹中.对不起,如果问题是愚蠢的,我无法理解ember-cli导入原则.

mis*_*nry 7

我会提出一个解决方案,我认为这是最简单的解决方案.您将不会拥有全局范围的变量,但您使用的是ES6模块方法.

例如,假设您有一个被app_name/lib/调用的文件helper.js.lib是您为保存自定义库而创建的目录.您不必使用该名称.使用export default命令如下:

export default {
    helper1: function() {},
    helper2: function() {}
};
Run Code Online (Sandbox Code Playgroud)

然后,假设您在路线中需要这个.这可能是一条这样的路线:

import helper from 'app_name/lib/helper';

export default Ember.Route.extend({
   model: function(){
      helper.helper1();
}
Run Code Online (Sandbox Code Playgroud)

helper是您导入的名称,并表示您导出的对象helper.js.这种方法似乎是Ember-CLI建议你应该使用的风格