javascript - Error: Cannot find module 'html' , Can't serve static files -


i don't know touched stopped serving static files. have following architecture:

  1. app

    • routes
    • models
  2. public

    • views
    • css
    • js
  3. server.js

the error:

error: cannot find module 'html'     @ function.module._resolvefilename (module.js:325:15)    ... @ /users/.../vintageaddiction/app/routes/indexroutes.js:12:11 



indexroutes.js:

var express  = require('express'); var passport = require('passport');  var indexrouter = express.router();   indexrouter.route('/').get( function(req, res) {       res.render('index.html'); // load index.ejs file     });   module.exports = indexrouter; 

server.js:

// server.js  // set ====================================================================== // tools need var express  = require('express'); var app      = express(); var port     = process.env.port || 8080; var mongoose = require('mongoose'); var passport = require('passport'); var flash    = require('connect-flash');  var morgan       = require('morgan'); var cookieparser = require('cookie-parser'); var bodyparser   = require('body-parser'); var session      = require('express-session');  var configdb = require('./app/config/configdb.js');  // configuration =============================================================== mongoose.connect(configdb.url); // connect our database  require('./app/config/passport')(passport); // pass passport configuration  // routes ====================================================================== var routes       = require('./app/routes/indexroutes.js'); // load our routes , pass in our app , configured passport var adminroutes  = require('./app/routes/adminroutes.js');   // set our express application app.use(morgan('dev')); // log every request console app.use(cookieparser()); // read cookies (needed auth) app.use(bodyparser()); // information html forms  // app.set('view engine', 'ejs'); // set ejs templating  // required passport app.use(session({ secret: 'vintageisthelaw' })); // session secret app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()); // use connect-flash flash messages stored in session  app.use('/', routes); app.use('/admin', adminroutes);  // set static files location // used requests our frontend make app.use(express.static(__dirname + '/public/')); app.set('views', __dirname + '/public/views'); app.set('view engine', 'jade'); // launch ====================================================================== app.listen(port); console.log('the magic happens on :\n\n http://localhost:'+ port+'\n\n'); 

link server.js

i've seen similar :

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

but don't understand why not working hope can me guys !

in express.js order of middleware declaration important. must define express.static middleware earlier of routes:

server.js:

.. require  // logger must defined first if want log requests app.use(morgan('dev'));              // after should define express.static middleware             app.use(express.static(__dirname + '/public/'));  app.set('views', __dirname + '/public/views'); app.set('view engine', 'jade'); // cookie , body parser must defined before passport , session middleware app.use(cookieparser()); app.use(bodyparser());  app.use(session({ secret: 'vintageisthelaw' })); app.use(passport.initialize()); app.use(passport.session()); app.use(flash());  // routes must defined in end app.use('/', routes); app.use('/admin', adminroutes);  app.listen(port); console.log('the magic happens on :\n\n http://localhost:'+ port+'\n\n'); 

Comments