Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

opening HTML file using express.js

var express = require("express");
var fs = require('fs');
var sys = require('sys');

var app = express();
    app.use(express.logger());

app.get('/', function(req, res){
    fs.readFile('/views/index.html');
});

app.listen(8080);
console.log('Express server started');

I don't want to use the template engine jade. How can i open a simple index.html page which resides inside my view folder. The server is getting started, but it seems i am not able to load the index.html page.

like image 444
theJava Avatar asked Jan 15 '23 19:01

theJava


2 Answers

Using express 3.0.0rc3, the following works:

app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);

Or

app.set("view options", {layout: false});
app.use(express.static(__dirname + '/public'));

So your final code would look like this.

var express = require("express");
var fs = require('fs');
var sys = require('sys');

var app = express();
    app.use(express.logger());
    app.set("view options", {layout: false});
    app.use(express.static(__dirname + '/views'));

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

app.listen(8080);
console.log('Express server started');
like image 173
Thalaivar Avatar answered Jan 17 '23 21:01

Thalaivar


You can now, instead of using res.send(), use res.sendfile('index.html')

like image 25
JeanSimas Avatar answered Jan 17 '23 21:01

JeanSimas