我使用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);
}
}
});
答案 0 :(得分:4)
我认为"正确"导入实用程序的方法实际上是:
import SWAPI from '[app-name]/utils/swapi-adapter';
虽然在适配器的情况下,这可能不是最好的。
答案 1 :(得分:2)
您需要一个相对路径,因为适配器位于与路径不同的目录中:
import SWAPI from '../utils/swapi-adapter';
您可以考虑使用dependency injection为所有路由提供对适配器的访问权限。