2014-11-06 42 views
6

im usando nodejs e sto cercando di servire solo i file html (senza jade, ejs ... motori).Nodejs: Errore: impossibile trovare il modulo 'html'

heres il mio punto di ingresso (index.js) Codice:

var express = require('express'); 
var bodyParser = require('body-parser'); 

var app = express(); 

app.set('port', (process.env.PORT || 5000)); 
app.use(express.static(__dirname + '/public')); 

app.use(bodyParser.urlencoded({ 
    extended: true 
})); 
app.use(bodyParser.json()); 

app.use(express.static(__dirname + '/public')); 

app.get('*', function(req, res){ 
    res.render('index.html'); 
}); 

app.listen(app.get('port'), function() { 
}); 

Questo sta facendo bene quando ho colpito l'url "localhost: 5000 /", ma quando provo qualcosa come "localhost: 5000/qualunque" ho ottenuto il seguente messaggio: Errore: Impossibile trovare il modulo 'html'

im nuovo a nodejs, ma voglio tutti percorsi per rendere il file index.html. Come lo posso fare ???

Grazie.

risposta

22

È necessario specificare la cartella di visualizzazione e analizzare il motore in HTML.

var express = require('express'); 
var bodyParser = require('body-parser'); 

var app = express(); 

app.set('port', (process.env.PORT || 5000)); 
app.use(express.static(__dirname + '/public')); 
app.set('views', __dirname + '/public/views'); 
app.engine('html', require('ejs').renderFile); 
app.set('view engine', 'html'); 

app.use(bodyParser.urlencoded({ 
    extended: true 
})); 
app.use(bodyParser.json()); 



app.get('*', function(req, res){ 
    res.render('index.html'); 
}); 

app.listen(app.get('port'), function() { 
}); 
+1

Non dimenticare che è necessario installare "ejs" prima, ok? hugs – vcrzy

+0

funziona bene dopo aver installato ejs, ovviamente, e mettendo il 'index.html' all'interno della cartella 'views', grazie amico. Il comando – dafriskymonkey

+0

per installare ejs è 'npm install ejs' – mujaffars

4

si potrebbe usare il rendering solo quando si utilizza alcuni motori di rendering, come giada o ejs, se si prevede di utilizzare semplice HTML, posizionarlo nella cartella pubblica o servire come un file statico.

res.sendFile('index2.html', {root : __dirname + '/views'}); 
Problemi correlati