节点101:未定义app.use ReferenceError
我是Node / Express新手,并有一个关于路由的基本问题,因为我收到以下错误信息:
app.use('/edu', edu); ^ ReferenceError: edu is not defined at Object.<anonymous> (/Users/ronitelman/Dropbox/happy/happy/app.js:29:17) 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> (/Users/ronitelman/Dropbox/happy/happy/bin/www:7:11) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10)
[nodemon]应用程序崩溃 – 正在等待文件更改开始之前…
app.js:
app.use('/', routes); app.use('/users', users); app.use('/about', about); app.use('/edu', edu);
文件结构:
> root > ... > routes | about.js | edu.js | index.js | users.js
edu.js:
var express = require('express'); var router = express.Router(); router.get('/', function(req, res) { res.render('dashboard', { layout: 'layout_edu' }); }); module.exports = router;
另外,我想知道是否应该在我的dashboard.jade文件中使用“扩展布局”,或者如果我应该在路线中定义布局
dashboard.jade
extends layout //- or res.render('dashboard', { layout: 'layout_edu' }); ? block content include ./nav/nav_layout.jade .wrapper include ./home/home.jade include ./home/benefits.jade include ./home/students.jade include ./home/teachers.jade include ./home/admin.jade include ./home/analytics.jade include ./home/tech.jade include ./home/featured.jade
确保你的app.js
文件需要你的edu
模块。 通常在文件的顶部,你需要像var edu = require('./routes/edu.js');
(要求节点在routes
目录中加载你的edu.js
文件)。
关于你的第二个问题,你在Jade文件中进行extends
调用的方式应该是可以的。 为了更加清晰并避免错误,您应该通过文件名引用它,例如extends ./layout.jade
(如果layout.jade
与dashboard.jade
在同一目录中)