nodemon - 应用程序崩溃 - 在启动前等待文件更改

新手上路,请多包涵

我刚开始学习 Node.js。这个小应用程序的想法是使用 express 和 mongosse 将一些用户存储在基于云的数据库中(mongoDB via mlab)。

我有两个单独的文件:

User.js (模型/User.js)

 var mongoose = require('mongoose');

module.exports = mongoose.model('User', {

   email : string ,
   pwd : string

});

server.js(档案根)

 var express = require('express')
var cors = require('cors')
var bparser = require('body-parser')
var mongoose = require('mongoose')

var User = require('./models/User.js')

var app = express()

app.use(cors())
app.use(bparser.json())

app.post('/register', (req,res) => {
    userData = req.body;
    var user = new User(userData);

    user.save((err, result) => {
        if(err) console.log('IL YA UNE ERREUR')
        result.sendStatus(200);
    })

})

mongoose.connect('mongodb://user:pwd@ds261755.mlab.com:61755/myapp', { useMongoClient: true } , (erreur) => {
    if(!erreur)
    console.log('Connexion etablie');
})

app.listen(3000)

当我执行: nodemon server.js 时,我收到以下错误:

 D:\Bureau\MEAN\appBackend\models\User.js:5
   email : string ,
           ^

ReferenceError: string is not defined
    at Object.<anonymous> (D:\Bureau\MEAN\appBackend\models\User.js:5:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Bureau\MEAN\appBackend\server.js:6:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
[nodemon] app crashed - waiting for file changes before starting...

您对此错误有任何想法吗?

原文由 MDIT 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 605
2 个回答

Mongoose 希望您使用内置构造函数指定类型,这些构造函数以大写字母命名,例如 StringNumberBoolean 等。

 var mongoose = require('mongoose');

module.exports = mongoose.model('User', {

   email : String ,
   pwd : String

});

原文由 Raphael Serota 发布,翻译遵循 CC BY-SA 3.0 许可协议

当出现任何小错误时,此消息将始终出现。当 module.exports 类型为 module.export 时,我也遇到了这个问题,只是错过了 ’s’。

原文由 Sujeewa K. Abeysinghe 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题