Поскольку ваш index.html будет статическим, его просто нужно отправить пользовательскому агенту (браузеру) как есть.Не требует какой-либо обработки на стороне сервера (WSGI).
Веб-сервер может просто отправить index.html (и любые ресурсы js / css) по запросу браузера.Он даже не должен находиться в том же каталоге, что и ваш API-интерфейс.
Я использую такую настройку в производственном приложении.Это обеспечивает независимость разработки и развертывания для передней / задней части.
/www
/myapp <-- ember SPA (where normal users will go)
index.html
/assets
/fonts
/myapp_backend
/api/v1/... <-- backend API (API that ember talks to)
/admin/ <-- admin section
Вы можете определить местоположение API бэкенда в настройках производства ember config.(Могут быть разные настройки в разработке).Затем вы можете установить для этого пространства имен в вашем адаптере данных приложения ember этот путь.
// config/environment.js
...
APP: {
ENV: {
REST_API_ENDPOINT: 'myapp_backend/api/v1',
REST_API_HOST: 'http://production-host',
...
}
...
}
// app/adapters/application.js
import DS from 'ember-data';
import ENV from '../config/environment';
...
export default DS.RESTAdapter.extend({
namespace: ENV.APP.REST_API_ENDPOINT,
host: ENV.APP.REST_API_HOST,
...
})
Когда релиз будет готов, вы можете ember build --environment=production
и скопировать каталог 'dist' в каталог myapp на сервере.