无法从ember-cli生成的utils文件夹导入文件

时间:2014-12-22 16:20:00

标签: ember-cli

我使用ember generate util生成了一个实用程序,我正在尝试将其导入另一个文件,但是我遇到了构建错误。

我的实用程序(app/utils/swapi-adapter.js):

import Ember from 'ember';

/* global $ */
export default Ember.Object.extend({
  base: 'http://swapi.co/api/',

  get: function(uri) {
    var url = uri;

    // make sure to append url
    if(url.indexOf(this.get('base')) !== -1) {
       url = this.get('base') + url;
    }

    return $.getJSON(url);
  }
});

我尝试将其导入的路线:(app/routes/test-api.js

import Ember from 'ember';
import SWAPI from 'utils/swapi-adapter';

export default Ember.Route.extend({
  model: {},
  actions: {
    test: function(url) {
      SWAPI.get(url);
    }
  }
});

2 个答案:

答案 0 :(得分:4)

我认为"正确"导入实用程序的方法实际上是:

import SWAPI from '[app-name]/utils/swapi-adapter';

虽然在适配器的情况下,这可能不是最好的。

答案 1 :(得分:2)

您需要一个相对路径,因为适配器位于与路径不同的目录中:

import SWAPI from '../utils/swapi-adapter';

您可以考虑使用dependency injection为所有路由提供对适配器的访问权限。