2017-10-19 130 views
1

我得到ReferenceError:沒有定義貓鼬。我是新來的節點請App.js代碼如下所示。我無法通過谷歌提供的所有答案來解決它。ReferenceError:沒有定義貓鼬

var express = require('express'); 
var app = require('mongoose'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

var index = require('./routes/index'); 
var users = require('./routes/users'); 
var app = express(); 
app.set('views', path.join(__dirname, 'views')); 
    app.set('view engine', 'jade'); 

app.use(logger('dev')); 
    app.use(bodyParser.json()); 
    app.use(bodyParser.urlencoded({ extended: false })); 
    app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', index); 
app.use('/users', users); 
app.use(function(req, res, next) { 
var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
    }); 

    mongoose.connect('mongodb://localhost:27017/mydb'); 

    var Schema = new mongoose.Schema({ 
    cr : String, 

     }); 

     var user = mongoose.model('myc', Schema); 

    app.get('/view', function(req, res){ 
    user.find({}, function(err, docs){ 
     if(err) res.json(err); 
    else res.render('index', {users: docs}); 
     }); 
      }); 


     app.use(function(err, req, res, next) { 

    res.locals.message = err.message; 
    res.locals.error = req.app.get('env') === 'development' ? err : {}; 

    res.status(err.status || 500); 
    res.render('error'); 
    }); 

module.exports = app; 

我使用節點version6.11.0和NPM v 5.5.1 如何解決這個問題?請求幫助

回答

1

您需要安裝貓鼬作爲一個依賴

運行此命令,

$ npm install mongoose --save 

同時更換

var app = require('mongoose'); 

var mongoose = require('mongoose'); 
+0

冉得到同樣錯誤的這個命令仍然 –

+0

@Tesdte檢查更新的答案 – Sajeetharan

0

您需要確保安裝貓鼬。嘗試通過npm進行安裝。

npm install mongoose --save

+0

安裝它僅通過npm安裝 –

+0

正確,我應該已經更清楚了。雖然答案立場並且顯然準確,但我被@Sajeetharan擊敗了3秒 – Hunter

0

var app = require('mongoose');替換爲var mongoose = require('mongoose');。我想,你已經安裝貓鼬。如果沒有,請使用命令npm i mongoose --save