我对ember的问题与我想使用的ember-restless模块有关而不是ember-data(我已经从我的项目中完全删除了数据模块)。 我还在学习ember所以我不确定这是否有最新版本或编程风格,但我在Ember 2.0中看到我们会写
export default RL.Client.create({
adapter: App.RESTAdapter
});
而不是
App.Client = RL.Client.create({
adapter: App.RESTAdapter
});
但似乎我的客户端无法被识别(如果我以第一种方式编写),因为get请求是对localhost而不是我在RESTAdapter类中指定的url。
我遇到的第二个问题是
import RL from 'ember-restless';
对我来说不起作用,它说模块' ember-restless'无法找到。
任何帮助都会受到赞赏,因为我一直在努力解决这个问题。
更新
我将导入语法更改为以下内容,以下是这种情况:
import { Client } from 'ember-restless';
如果把这个导入放在我的模型类中,我在js控制台中遇到以下错误:
Error: Could not find module 'ember-restless' imported from 'ember-test2/models/pol'
但是,如果我从模型类中删除导入,在RESTAdapter和Client定义中保留足够的导入,则没有错误,但是在localhost:4200而不是localhost:8080上调用服务。
我将在这里提供js文件的定义:
模型/ pol.js
import { RL } from 'ember-restless'; // imports entire library
var Pol = RL.Model.extend({
idPol: RL.attr('integer'),
naziv: RL.attr('string')
});
Pol.reopenClass({
resourceName: 'pol/e'
});
export default Pol;
适配器/ application.js中
import { RL } from 'ember-restless';
export default RL.RESTAdapter.create({
host: 'http://localhost:8080',
namespace: 'zareps'
});
适配器/ client.js
import {RESTAdapter} from '../adapters/application';
import {Client} from 'ember-restless';
export default Client.create({
adapter: RESTAdapter
});
路由/列表pol.js
import Ember from 'ember';
import Pol from '../models/pol';
export default Ember.Route.extend({
model() {
return Pol.find();
}
});