MEAN Web开发 [英] MEAN Web Development

查看:97
本文介绍了MEAN Web开发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我跟着名为book的书名.我的代码如下(据我所知,这本书是完全匹配的).如果这是我可以轻松找到的东西,我深表歉意,但我不诚实地理解其他答案,以至于无法弄清这一点.检查并重新检查书中的代码以及我所拥有的内容,但看不到我所犯的任何错误.

Currently I'm following along with the title named book. My code is as follows ( from the book so far as I can see it matches perfectly ). I apologize if this is something I could have easily searched for but I don't honestly understand the other answers well enough to figure it out on my end. Checking and rechecking the code from the book and what I have I don't see any errors I've made.

我正在使用的MEAN堆栈(我不知道有多个)是MongoDB Express AngularJS和Nodejs

The MEAN Stack I'm using ( I wasn't aware there was more than one ) is MongoDB Express AngularJS and Nodejs

错误消息(对不起,我不敢相信我最初忘记了这一点)

Error Msg ( Sorry I can't believe I initially forgot this )

e:\MEAN\node_modules\mongoose\lib\index.js:323
    throw new mongoose.Error.MissingSchemaError(name);
        ^
MongooseError: Schema hasn't been registered for model "User".
Use mongoose.model(name, schema)
    at Mongoose.model (e:\MEAN\node_modules\mongoose\lib\index.js:323:13)
    at Object.<anonymous> (e:\MEAN\app\controllers\users.server.controller.js:1:94)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (e:\MEAN\app\routes\users.server.routes.js:1:75)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

如果有什么不同,这就是目录结构

If it makes any difference this is the directory structure

app/
    controllers/
        users.server.controllers.js
    models/
        user.server.model.js
    routes/
        users.server.routes.js
config/
    express.js
    mongoose.js

express.js

express.js

var config = require('./config'), 
express = require('express'),
morgan = require('morgan'),
compress = require('compression'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
session = require('express-session');

module.exports = function () {
    var app = express();
    if (process.env.NODE_ENV === 'development') {
        app.use(morgan('dev'));
    } else if (process.env.NODE_ENV === 'production') {
        app.use(compress());
    }

    app.use(bodyParser.urlencoded({extended:true}));
    app.use(bodyParser.json());
    app.use(methodOverride());
    app.use(session({
        saveUninitialized: true,
        resave: false,
        secret: config.sessionSecret
    }));

    app.set('views', './app/views');
    app.set('view engine', 'ejs');

    require('../app/routes/index.server.routes.js')(app);
    require('../app/routes/users.server.routes.js')(app);

    app.use(express.static('./public'));

    return app;
};

mongoose.js

mongoose.js

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

module.exports = function() {
    var db = mongoose.connect(config.db);
    require('../app/models/user.server.model');
    return db;
}

user.server.model.js

user.server.model.js

var mongoose = require('mongoose'),
Schema = mongoose.Schema,
UserSchema;

UserSchema = new Schema({
    firstName: String,
    lastName: String,
    email: String,
    username: String,
    password: String
});

mongoose.model('User', UserSchema);

users.server.controllers.js

users.server.controllers.js

var User = require('mongoose').model('User');

exports.create = function(req, res, next) {
    var user = new User(req.body);
    user.save(function(err) {
        if (err) {
            return next(err);
        } else {
            res.json(user);
        }
    })
};

users.server.routes.js

users.server.routes.js

var users = require('../../app/controllers/users.server.controller');

module.exports = function (app) {
    app.route('/users').post(users.create);
}

推荐答案

server.js中缺少逗号.不知道是什么让我检查它,但这就是我的问题.

Missing a comma in server.js. Not sure what made me check it, but that was my issue.

这篇关于MEAN Web开发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆