平均网络开发
MEAN Web Development
目前我正在关注名为书的标题。我的代码如下(从书中,据我所知,它完全匹配(。如果这是我可以轻松搜索的东西,我深表歉意,但我老实说,我不太了解其他答案,无法弄清楚。检查并重新检查书中的代码以及我所拥有的内容,我没有看到我犯的任何错误。
我正在使用的MEAN Stack(我不知道不止一个(是MongoDB Express AngularJS和Nodejs
错误消息(对不起,我不敢相信我最初忘记了这个(
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)
如果有任何区别,那就是目录结构
app/
controllers/
users.server.controllers.js
models/
user.server.model.js
routes/
users.server.routes.js
config/
express.js
mongoose.js
快递.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;
};
猫鼬.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
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
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
var users = require('../../app/controllers/users.server.controller');
module.exports = function (app) {
app.route('/users').post(users.create);
}
服务器中缺少逗号.js。不知道是什么让我检查它,但那是我的问题。
相关文章:
- 通过Magento的网络服务检索运费
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- Webpack开发服务器和React服务器端渲染
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何使用密码检测网络中的状态连接
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- ASP.NET网络摄像头显示
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- 使用javascript开发Selenium网络驱动程序脚本
- Firefox插件开发,打开一个隐藏的网络浏览器
- 平均网络开发
- 现代网络开发方法
- 开发人员工具:在弹出窗口中跟踪网络请求
- 阅读,存储chrome开发工具网络数据
- 用于网络游戏开发的Rails
- chrome devtools可以使用本地文件而不是网络文件,而我正在开发
- 如何通过json提取Chrome开发工具的网络选项卡内容
- 谷歌Chrome插件开发-监控网络请求
- 是“;前端架构师”;开发现代网络应用程序时的角色关系