gpt4 book ai didi

javascript - Node 101 : app. 使用 ReferenceError [route] 未定义

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:18 25 4
gpt4 key购买 nike

我是 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;

此外,我想知道是否应该在仪表板.jade 文件中使用“扩展布局”,或者是否应该在 route 定义布局

仪表板.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

最佳答案

确保您需要 edu您的 app.js 中的模块文件。通常在文件顶部您需要类似 var edu = require('./routes/edu.js'); 的内容。 (它要求 Node 加载 edu.js 目录中的 routes 文件)。

关于你的第二个问题,你的 extends 的制作方式在你的 Jade 文件中调用应该没问题。为了更清楚并避免错误,您应该通过文件名引用它,例如 extends ./layout.jade (如果 layout.jadedashboard.jade 位于同一目录中)

关于javascript - Node 101 : app. 使用 ReferenceError [route] 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37973725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com