Node express不呈现正确的视图

时间:2016-05-29 03:41:13

标签: javascript html css node.js express

这是我的项目结构

public/
  css/
  images/
  js/
routes/
  index.js
  users.js
views/
  AdminView/
  layouts/
    layout.hbs
  index.hbs

我目前遇到的问题是无法在我的Node Express应用上加载正确的视图。这是我的一些代码

users.js

var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res, next) {
  res.send('respond');
});

router.get('/admin', function(req, res, next) {
  res.render(__dirname + 'AdminView/pages/tables/job-posts', {title: 'Admin     Page'});
});

module.exports = router;

app.js *部分内容

// view engine setup
app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'layout' , layoutsDir: __dirname + '/views/layouts'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

// Render the main view static files
app.use(express.static(path.join(__dirname, 'public')));                 // Render for /
app.use("/career", express.static(__dirname + '/public'));               // Render for /carrer/
app.use("/career/form", express.static(__dirname + '/public'));          // Render for /carrer/form

app.use("/users", express.static(__dirname + "/views/AdminView"));       // Render for /users

// Problematic code below
app.use("/users/admin", express.static(__dirname + "/views/AdminView")); // Render for /users/admin 

app.use('/', routes);
app.use('/users', users);

这是问题所在。当我尝试访问/ users / admin时,我不知道为什么它使用css,js和images渲染AdminView文件夹上的索引页面,而它应该呈现我在路由上指定的那个(AdminView / pages) /表/作业日志)。

但是,如果我评论上面有问题的行,它会加载我在路由文件中指定的html文件,但不会呈现静态文件。

旁注:

0 个答案:

没有答案