2014-07-05 3 views
12

Utilizzando lo ember-starter-kit tutto ciò che dovevo fare era gettare il suo contenuto nella cartella /my_laravel_app/public e tutto andava bene.Rundown di Ember-CLI che lo utilizza con Laravel o altri framework di backend

Ora sto cercando di creare un progetto con laravel e ember-cli

Sono un po 'confuso su come ho bisogno di strutturare la mia domanda? In quale cartella di laravel dovrei eseguire il comando ember new my-app? Inoltre, come posso usare apache per testare la mia applicazione ember-cli invece di usare il comando ember server poiché ho bisogno di testarlo con i miei apis generati da laravel.

Qualsiasi aiuto è molto apprezzato!

risposta

28

Ecco un modo per farlo

entra nella tua cartella principale laravel ed eseguire il ember new my_app_name

Poi vai nella cartella my_app_name e creare un nuovo file build_custom.sh aggiungere le seguenti righe al file

ember build 
cp dist/index.html ../app/views/ember.php 
cp -r dist/assets ../public/assets 

Spiegazione: la prima riga crea l'app ember-cli e genera tutti i file necessari nella cartella . La seconda riga copia il file index.html generato nella cartella app/views/ e lo rinomina ember.php in modo che laravel possa riconoscerlo. L'ultima riga copia tutte le risorse nella cartella pubblica laravel

È possibile aggiungere quanto segue nel file app/routes.php in laravel per servire la propria app ember. Assicurarsi che sia tutto il senso alla parte inferiore in modo che le altre vie api prendono preferenza

Route::get('{ember?}', function() { 
    return View::make('ember'); 
})->where('ember', '.*'); 

Questo dovrebbe essere, tutto dovrebbe funzionare come previsto. In bocca al lupo.

+1

Vorrei poter sopravvivere altre volte. – SuperTron

+0

Ricevo ancora un errore "UnrecognizedURLError:/ember' quando navighi sulla rotta" ember' sulla mia app laravel. Questo sembra essere correlato alle impostazioni di rootUrl dell'app ember. – Rajat

+0

questo non funziona per me. Né il file ember.php viene creato né le risorse vengono spostate. L'aiuto delle formiche sarebbe molto apprezzato. –

1

Ecco un altro modo per farlo:

È possibile creare due cartelle separate: backend(laravel app) e frontend(brace app) . Diciamo che la tua app laravel è in esecuzione su 192.168.10.10, puoi quindi eseguire il proxy delle richieste ajax della tua app ember utilizzando il comando ember-cli: ember serve --proxy http://192.168.10.10. Usando questa opzione proxy, tutti i comandi saranno passati all'indirizzo ip, specificato con l'opzione --proxy - in questo caso l'indirizzo ip, dove è in esecuzione l'app laravel (dove api è in ascolto).