Я использую Ember CLI 0.0.36. Когда я запускаю ember server
в моей папке проекта, я понимаю, что сервер, зарытый в каком-то процессе Brocoli, запускается. Однако я хотел бы запрограммировать пользовательский Express-сервер и указать свое приложение для этого Node.js-кода для его бэкэнд. Как я буду делать это в рамках Ember CLI?
UPDATE:
Следуя @user3155277 answer, я добавил файл адаптера следующим образом:
приложение-имя/приложение/адаптеры/application.js
import DS from 'ember-data';
export default DS.RESTAdapter.reopen({ namespace: 'api' });
Я создал Express-сервер, который я установил в корневое приложение:
приложение-имя/server.js
var express = require("express"),
app = express(),
path = require("path");
app.get("/api/test", function(req, res) {
res.json({
hello: "world"
});
});
var server = app.listen(8147);
В приложении Ember мой указательный маршрут определяется следующим образом:
Приложение имя/приложение/маршруты/index.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return Ember.$.getJSON("/api/test").then(function(data) {
return data;
});
}
});
В командной строке я запустил сервер так:
ember serve --proxy http://localhost:8147/
Я получаю следующую ошибку:
version: 0.0.35-master-86abdb11ba
Proxying to http://localhost:8147/
object is not a functionTypeError: object is not a function
at Class.module.exports.Task.extend.start (D:\ember-cli\lib\tasks\server\express-server.js:41:43)
at Class.module.exports.Task.extend.run (D:\ember-cli\lib\tasks\serve.js:40:23)
at Class.module.exports.Command.extend.run (D:\ember-cli\lib\commands\serve.js:35:18)
at Class.Command.validateAndRun (D:\ember-cli\lib\models\command.js:74:15)
at CLI.<anonymous> (D:\ember-cli\lib\cli\cli.js:33:20)
at tryCatch (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\-internal.js:163:16)
at invokeCallback (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\-internal.js:172:17)
at publish (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\-internal.js:150:13)
at flush (D:\ember-cli\node_modules\rsvp\dist\commonjs\rsvp\asap.js:51:9)
at process._tickCallback (node.js:419:13)Livereload server on port 35729