var express = require('express');
app = express(),
jade = require('jade'),
path = require('path'),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
users = [];
//view engine
app.set('views', __dirname + '/views');
app.set('view engine', jade);
app.engine('jade', require('jade').__express);
//static path
app.use(express.static(path.join(__dirname,'public')));
//index route
app.get('/',function(req,res){
res.render('index');
});
server.listen('3000');
console.log('server started..');
I followed a video tutorial, I did the same thing but I got an error of cannot find module of [object Object]. The guy who did the video didn't include require('jade'), it worked for him, but it doesn't work for me. I says jade is not defined if I did not require jade.
var express = require('express');
app = express(),
jade = require('jade'),
path = require('path'),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
users = [];
//view engine
app.set('views', __dirname + '/views');
app.set('view engine', jade);
app.engine('jade', require('jade').__express);
//static path
app.use(express.static(path.join(__dirname,'public')));
//index route
app.get('/',function(req,res){
res.render('index');
});
server.listen('3000');
console.log('server started..');
I followed a video tutorial, I did the same thing but I got an error of cannot find module of [object Object]. The guy who did the video didn't include require('jade'), it worked for him, but it doesn't work for me. I says jade is not defined if I did not require jade.
Share Improve this question edited Sep 29, 2017 at 9:06 Vladimir Starkov 19.8k8 gold badges62 silver badges115 bronze badges asked Dec 19, 2015 at 13:47 Nichole A. MilerNichole A. Miler 1,3812 gold badges12 silver badges21 bronze badges6 Answers
Reset to default 12Not relevant to this case, but might assist someone.
I had this problem, and found that a mistake in
app.set('view engine', ejs);
caused it.
it should have been:
app.set('view engine', 'ejs');
Change
var express = require('express');
into
var express = require('express'),
Right now express
is the only variable that is defined.
Need not import ejs module. Just pass string 'ejs' to the view engine. It will pick the module with the engine name given.
app.set('view engine', 'jade');
remove the importing module
jade = require('jade');
Two things to keep in mind you need:
Change this:
app = express(),
app.set('view engine', jade);
to:
app = express();
app.set('view engine', 'jade');
Change:
app.set('view engine', jade);
Into:
app.set('view engine', 'jade');
And
app = express(),
Into:
app = express();
maybe you need to change
app.set('view engine', jade);
to
app.set('view engine', 'jade');