[英]when i start node.js express application i have strange code instead main page
當我嘗試啟動我的app.js時,我在瀏覽器中而不是主頁中包含以下代碼:
function next(err) {
if (err && err === 'route') {
return done();
}
var layer = stack[idx++];
if (!layer) {
return done(err);
}
if (layer.method && layer.method !== method) {
return next(err);
}
if (err) {
layer.handle_error(err, req, res, next);
} else {
layer.handle_request(req, res, next);
}
}
我使用express4.9.8和node.js v0.10.25有人知道這可能是什么問題嗎?
這是我的第一個發送類別列表的控制器
var Category = require('../models/category.js').Category;
// list cateogories
exports.categoryList = function(req, res, err) {
if (err) { throw err };
Category.find({}, function(err, cats) {
console.log(cats);
if(!err) {
res.render('main.jade', {catList: cats});
}
})
};
這是我的第一個模型代碼:
var mongoose = require('../lib/mongoose.js');
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;
var categorySchema = new Schema({
name: {
type: String,
slug: String,
order: {
type: Number,
default: 99
}
},
error: [{
type: ObjectId,
ref: 'Error'
}]
})
exports.Category = mongoose.model('Category', categorySchema);
我的路線:
var express = require('express');
var router = express.Router();
var categoryController = require('../controllers/categories.js');
router.get('/', categoryController.categoryList);
和模板:
doctype html
html
head
link(rel='stylesheet', href='style.css')
title= test
body
form(id="search" action="" method="get")
input(type="text" name="search" class="sfield" value="search and go")
input(type="submit" value="Search" class="sbutton")
block content
ul
- for (var i in catList)
li
a(href='/'+catList[i])= catList[i]
我發現我的問題。 在模型代碼中,我引用了不存在的模型:
error: [{
type: ObjectId,
ref: 'Error'
}]
感謝你的幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.