在控制器中包含模型:Node.js / Express / Mongo app

时间:2016-03-27 19:29:31

标签: node.js mongodb express

我正在制作一个简单的应用。我无法启动>节点app.js我在下面收到以下错误。我搜索了很多,并做了jslint以确保所有的括号都关闭。当我从控制器中删除模型时,节点应用程序启动。但是包含会引发下面的错误。有人能帮助我理解我可能做错了吗?

   var Model = require('../models/Models');

错误:

node app
SyntaxError: Unexpected token ILLEGAL
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/Users/Upheus1/node-learn/minio-node-eg/controllers/BookController.js:1:75)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)

我有模特/ Models.js:

    var config = require('../config');
    var mongoose = require('mongoose');

    var connectionString = 'mongodb://' + config[config.environment].database.credentials + config[config.environment].database.host + ':' + config[config.environment].database.port  +
    '/'+ config[config.environment].database.name;

    var db = mongoose.connection;

    db.on('error', function(){
        console.log('There was an error connecting to the database');
    });
    db.once('open', function() {
        console.log('Successfully connected to database');
    });

    mongoose.connect(connectionString);

    var Book = new mongoose.Schema({
        title: String,
        author: String,
        isPublished: Boolean
    });
    var User = new mongoose.Schema({
        name: String,
        password: String,
        email: String
    });

    var BookModel = mongoose.model('Book', Book);
    var UserModel = mongoose.model('User', User);

    module.exports = {
        BookModel: BookModel,
        UserModel: UserModel
    };

这是我的BookController.js:

var Model = require('../models/Models');  <----- Including this here causes error

exports.Index = function(request, response){

Model.BookModel.find(function(error, result){
   if (error) {
       console.log('There was an error');
       response.redirect('/?error=true&message=There was an error getting books from the database');
   } else {
       response.pageInfo.title = 'Books';
       response.pageInfo.books = result;
       response.render('books/Index', response.pageInfo);
   } 

    });
};

exports.BookAdd = function(request, response){
  response.pageInfo.title = 'Add a Book';
  response.render('books/BookAdd', response.pageInfo);

};

exports.BookCreate = function(request, response){
  var title = request.body.title;
  var author = request.body.author;

  var b = new Model.BookModel({
   title: title,
   author: author,
   isPublished: true    
 });
 b.save(function(error){
    if(error) {
        console.log('Error');
        response.redirect('/books?error=true&message=There was an error adding the book to the database');
    } else {
        response.redirect('/books?success=true&message=Book created successfully');
    } 
  });
};

这是我的目录的布局:

0 个答案:

没有答案