Aplicaciones precompiladas de una sola página en la aplicación Phoenix

Tengo una aplicación ember.js precompilada (que fronted-js-framework no debería importar aquí), que básicamente consiste en una carpeta con un archivo index.html y algunos activos js / css.

Coloqué esta carpeta en / priv / static en mi aplicación Phoenix, e intenté obtener la ruta para servirla ... sin éxito hasta ahora. Estoy en Phoenix versión 0.17.1 (igual que 1.0 afaik). Intenté los siguientes pasos, en ese orden:

En endpoint.ex, eliminé elonly: ~w(...) filtrar.Implementado un controlador mínimo con una sola acción para servir el archivo:def index(conn, _params) do redirect conn, to: "/my_app/index.html" endagregó el controlador a mis rutas .ex:get "/my_app", MyCustomController, :index

Ninguno de los pasos anteriores funcionó hasta ahora, solo recibo el errorno route found for GET /my_app/index.html. ¿Cómo podría resolver este problema? Solo quiero mapear la URL"/my_app" (o, si nada más funciona,"/my_app/index.html") al caminopriv/static/my_app/index.html dentro de mi aplicación Phoenix. ¿Algunas ideas?

EDITAR:

El flujo de trabajo básico que intento implementar es el siguiente:

Tengo diferentes desarrolladores que compilan algunos SPA de ember.js en su carpeta dedicada, ubicada en$phoenix_root/apps/. Entonces tengo un desarrollador$phoenix_root/apps/my_app con ascuas y ascuas-cli. Este desarrollador usaember server mientras desarrolla su aplicación, y tienemix phoenix.server ejecutándose en segundo plano, porque la aplicación phoenix expone los datos requeridos como una API RESTful.

Después de cada característica implementada, los tipos de desarrolladores frontendember build [...], esta tarea compila toda la aplicación frontend ember.js en una sola carpeta, con un archivo index.html y algunos activos, y mueve esta carpeta a$phoenix_root/web/static/assets/my_app. Luego, Phoenix (o brunch) se dispara y copia estas cosascomo es a$phoenix_root/priv/static/my_app, listo para ser servido como cualquier otro activo.

El punto es poder construir un montón de "frontends" aislados como paquetes independientes dentro de una sola base de código (la aplicación phoenix), mientras que la aplicación phoenix tiene otras cosas que hacer.

Debido a que Frontend-Developers genera automáticamente el SPA cada vez, modificar el siempre nuevo archivo index.html es algo que yomuy querer evitar En cuanto al rendimiento, sería mejor servir estos SPA como los archivos estáticos que son: se inicializan por sí mismos dentro del navegador del usuario.

Espero que esto agregue algunas aclaraciones por las que hago esto.

EDITAR 2:

Ahora tengo una solución que funciona, vea el ejemplo de repositorio que creé para fines de demostración:https://github.com/Anonyfox/Phoenix-Example-Multiple-SPA-Frontends

Modificaciones necesarias a la aplicación Phoenix:

modificarendpoint.ex' Plug.Static para incluir las ZEPA y sus activos.reiniciar mix phoenix.server ¡después de este!

Modificaciones necesarias a las aplicaciones ember.js:

añadir"output-path": "../../web/static/assets/*my_app*/" a.ember-cli, ajuste de conveniencia para correrember build siempre con este caminoañadirbaseURL: '/*my_app*/' ylocationType: 'none' aconfig/environment.jsrm -rf .git si desea tener todo el código versionado dentro de un solo proyecto (el propósito de esta pregunta)

Respuestas a la pregunta(2)

Su respuesta a la pregunta