wie kann ich das beheben Routen zu finden, die Ansichten innerhalb von Unterordnern in node.js

ich versuche, eine route für localhost:port/admin/
und ich will, dass die routes.js Dateien und view.js Dateien in den entsprechenden Ordnern, damit ich nicht zu viel spaggeti später

aber ich erhalte: 500-Fehler: Failed to lookup-Ansicht "/admin/manage_subjects"
für den Versuch, eine neue route zu erstellen und mit der gleichen Ordner-paar der gleichen

habe ich die folgende Ansicht Ordner mit express

mainapp(root)
  routes(folder)
    admin(folder)
      index.js(nested inside admin)
    index.js(nested inside routes)
  views(folder)
    admin(folder)
      admin_layout.jade(nested inside admin)
      manage_subjects.jade(nested inside admin)
    index.jade(nested inside views)
    layout.jade(nested inside views)

code:
routes/admin/index.js

exports.index = function (req, res) {
res.render('manage_subjects',{title:'Express'});}

views/admin/manage_subjects.jade

extends admin_layout
block content
h1 = title
p Welcome to #{title}

meine app.js code

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , admin_routes = require('./routes/admin/')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path')
  , repository = new (require('./domain_model/repository'))();

var app = express();

//all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

//development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

//fill local subjects
repository.subjects.GetAll(function (err, data) {
    if (err) throw err;
    app.locals.subjects = data;
});

//append routes
app.get('/', routes.index);
app.get('/admin', admin_routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on http://localhost:' + app.get('port'));
});
in routes/admin/index.js es scheint, es sollte res.render('admin/manage_subjects',{title:'Express'});}
ich habe es versucht, hat nicht funktioniert 🙁

InformationsquelleAutor user2538720 | 2013-07-02

Schreibe einen Kommentar