2014-09-11 10 views
15

Recentemente ho iniziato ad utilizzare Angular, Node ed Express. Ho creato alcune applicazioni basate su browser in Angular e sto tentando di portarle su applicazioni server in Node ed Express. (In particolare, uno trarrà dati da Twitter e un altro da Wikidot.)Nodo, Angolare, Express e il motore di visualizzazione

Poiché utilizzo Angular per l'iniezione di dati e il template, non voglio usare un altro motore di visualizzazione come EJS o Jade. Voglio usare il codice HTML/angolare che ho già scritto con il minor numero possibile di modifiche. Sono molto confuso sul motivo per cui Express richiede di avere un motore di visualizzazione.

Qual è il modo più semplice per far funzionare questo codice come un'applicazione Node/Express?

risposta

3

Poiché si utilizza AngularJS, non penso che ti interessi molto sul motore di visualizzazione di Express, ad es. meglio se usi Express per il rendering HTML. Forse lo userai per caricare il tuo HTML iniziale (con collegamenti a tutti i file .js, .css ecc.) Nel browser (rendering del modello lato server), il resto del lavoro verrà fatto con AngularJS che parla al tuo HTTP Express servizio

modo semplice è per voi di tornare JSON da espresso, provare questa funzione http://expressjs.com/api#res.json

Utilizzare AngularJS per comunicare con Express, AngularJS rende le cose interessanti sul browser (lato client il rendering modello, e altro ancora)

+2

Con questa risposta, presumo che chiamerò il file HTML direttamente piuttosto che avere Node.js interpretarlo come un modello. È corretto? In tal caso, come posso impedire a Node di interpretarlo? –

5

La risposta che stavo cercando è questa riga di codice.

app.engine('html', require('ejs').renderFile); 
+1

ma per quanto riguarda le altre cose che sono tipicamente impostate: è necessario usare questo: 'app.set ('viste', ..)'? o questo: 'app.use ('/', express.static ('./ public'));' – sports

+0

Potresti postare un po 'più di codice per avere più senso in generale, poiché avevo la stessa domanda nella mia mente . – KevinOrfas

Problemi correlati