Tôi đang cố tạo một tuyến đường cho localhost: port/admin/ và tôi muốn giữ các tệp routes.js và tệp view.js trong các thư mục phù hợp vì vậy tôi sẽ không có quá nhiều spaggeti saulàm cách nào để sửa các tuyến đường để tìm các khung nhìn bên trong các thư mục con trong node.js
nhưng tôi cứ bị: 500 Lỗi: Không thể tra cứu xem "/ admin/manage_subjects" cho cố gắng để tạo ra một con đường mới và sử dụng cùng một thư mục vài cùng
tôi có thư mục chế độ xem sau với 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)
mã: tuyến/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}
app.js tôi đang
/**
* 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'));
});
trong các tuyến đường/admin/index.js có vẻ như nó phải là 'res.render ('admin/manage_subjects', {title: 'Express'});}' – knshn
tôi đã thử nó, không hoạt động: ( – user2538720