【问题标题】:Mongoose is undefined error猫鼬是未定义的错误
【发布时间】:2017-02-20 18:12:16
【问题描述】:

我第一次尝试创建一个简单的平均应用程序。 我已按照以下链接执行步骤

https://scotch.io/tutorials/setting-up-a-mean-stack-single-page-application#starting-our-node-application-packagejson

最后我得到的错误是

ReferenceError: mongoose is not defined
    at Object.<anonymous> (C:\Users\Myname\Desktop\Mean sample\server.js:19:2)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

server.js

// modules =================================================
var express        = require('express');
var app            = express();
var bodyParser     = require('body-parser');
var methodOverride = require('method-override');

// configuration ===========================================

// config files
var db = require('./config/db');

// set our port
var port = process.env.PORT || 8080; 

// connect to our mongoDB database 
// (uncomment after you enter in your own credentials in config/db.js)
 mongoose.connect(db.url); 

// get all data/stuff of the body (POST) parameters
// parse application/json 
app.use(bodyParser.json()); 

// parse application/vnd.api+json as json
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true })); 

// override with the X-HTTP-Method-Override header in the request. simulate DELETE/PUT
app.use(methodOverride('X-HTTP-Method-Override')); 

// set the static files location /public/img will be /img for users
app.use(express.static(__dirname + '/public')); 

// routes ==================================================
require('./app/routes')(app); // configure our routes

// start app ===============================================
// startup our app at http://localhost:8080
app.listen(port);               

// shoutout to the user                     
console.log('Magic happens on port ' + port);

// expose app           
exports = module.exports = app; 

如何解决? 谁能解释一下解决这个问题的步骤

【问题讨论】:

    标签: node.js mean.io


    【解决方案1】:

    安装猫鼬

    npm i mongoose --save
    

    然后导入您的server.js 文件

    var express        = require('express');
    var mongoose       = require('mongoose') // import it 
    var app            = express();
    var bodyParser     = require('body-parser');
    var methodOverride = require('method-override');
    

    【讨论】:

    • 我遇到了同样的错误,你能分享任何合适的网站来在 MEAN 中创建基本示例吗?
    • 先做npm i mongoose --save再导入,问题就解决了
    • 通过导入它解决了问题,但我得到了如下新错误
    • C:\Users\myname\Desktop\Mean sample>node server.js module.js:472 throw err; ^ 错误:在 Function.Module._load (module.js:418:25) 在 Module.require (module. js:498:17) 在 Object. 的 require (internal/module.js:20:19) (C:\Users\myname\Desktop\Mean sample\node_modules\mongoose\lib\drivers\node-mongodb- native\objectid.js:8:16) 在 Module._compile (module.js:571:32)
    • 这是我在设置我的第一个 MEAN 应用程序时遵循的教程。 scotch.io/tutorials/…
    猜你喜欢
    • 1970-01-01
    • 2021-08-19
    • 2021-08-23
    • 1970-01-01
    • 2018-02-05
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    相关资源
    最近更新 更多