menaka
menaka

Reputation: 1068

require() throw “AssertionError: missing path” - Node js

I am trying out a simple nodejs application.All works fine until i separate db model into user file and requiring it in the routes.js.Then it gives out a “AssertionError: missing path” error when i try to run the server.

routes.js (path='demo/app/routes.js')

var User=require('./models/user');

module.exports=function(app){
    app.get('/',function(req,res){
        res.send("hello world");
    });

    app.get('/:username/:password',function(req,res){
        var newUser =new User();
        newUser.local.username=req.params.username;
        newUser.local.password=req.params.password;
        console.log(newUser.local.username);
        newUser.save(function(err){
            if(err){
                throw err;
            }
        });
        res.send('success');
    });
}

user.js (path='demo/app/models/user.js')

var mongoose=require(mongoose);

var userScheme=mongoose.Schema({
    local:{
        username:String,
        password:String
    }
});

module.exports=mongoose.model('User',userScheme);

server.js running file (demo/server.js)

var express=require('express');
var app=express();
var port =process.env.PORT||3000;

var morgan=require('morgan');
var cookieParser=require('cookie-parser');
var session=require('express-session');
var mongoose=require('mongoose');

var configDB=require('./config/database.js');
mongoose.connect(configDB.url);

app.use(morgan('dev'));
app.use(cookieParser());
app.use(session({
    secret:'pokemonGo',
    saveUninitialized:true,
    resave:true
}));

require('./app/routes.js')(app);

app.listen(port);
console.log('server running ');

and the error says

assert.js:90
  throw new assert.AssertionError({
  ^
AssertionError: missing path
    at Module.require (module.js:351:3)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/menaka/WebstormProjects/cardCreaterServer/app/models/user.js:4:14)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/menaka/WebstormProjects/cardCreaterServer/app/routes.js:4:10)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)

Upvotes: 3

Views: 12048

Answers (1)

menaka
menaka

Reputation: 1068

it is a syntax error

change

var mongoose=require(mongoose);

to -->

var mongoose=require('mongoose');

special thanks goes to @YuryTarabanko

Upvotes: 9

Related Questions