node.js - 如何将新的 View /路线添加到 Express 中?

标签 node.js twitter-bootstrap express

我是新手,我正在尝试尽可能多地吸收。 我正在使用这个模板https://github.com/primaryobjects/Node.js-Bootstrap-Starter-Template 好吧,到这里为止,但是当我尝试添加新页面时,它返回以下错误:

C:\server\node_modules\express\lib\router\route.js:196
        throw new Error(msg);
              ^
Error: Route.get() requires callback functions but got a [object Undefined]
    at Route.(anonymous function) [as get] (C:\server\node_modules\express\lib\r
outer\route.js:196:15)
    at EventEmitter.app.(anonymous function) (C:\server\node_modules\express\lib
\application.js:481:19)
    at Object.<anonymous> (C:\server\app.js:31:5)
    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 Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

目的是在以下地址回复我一个新页面: http://localhost:3000/ask?america=

我遵循的步骤是: 创建 View 和路径

/views/ask.jade
extends layout
block content
    div.container
    h1 ASK

2n

/routes/ask.js
exports.ask= function(req, res){
  res.render('ask');
};

3r

app.js
app.get('/ask', routes.ask);

但是当我尝试启动“node app”时,会返回上述错误。 我哪里错了?

最佳答案

您是否尝试过专门要求您的routes/ask.js 文件?我在使用时非常确定

require('folder')

require 直接查找索引文件并使用该索引文件,我相信这可能意味着您的 paths/ask.js 文件实际上可能不会被应用程序“需要”。

所以

var askRoutes = require('./routes/ask')
...
...
app.get('/', routes),
app.get('/ask', askRoutes)

为了模块化你的代码,你可以利用你的routes/index.js文件作为路由模块加载文件,你可以在其中将你的路由模块(如routes/ask.js)加载到你的索引文件中,这样你就不会因为app.js文件中存在大量必需的路由模块而陷入困境。只需要 index.js 文件。

关于node.js - 如何将新的 View /路线添加到 Express 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31117944/

相关文章:

node.js - Nodejs Express session 错误

node.js:模拟 http 请求和响应

node.js - 无法在 Ubuntu 中使用 Node 包管理器安装包

javascript - Sails.js:Bootstrap 遇到错误

node.js - Mongoose 单个应用程序的多个数据库

jquery - 将图像放在另一个 img 之上(响应模式)

css - 使用 Bootstrap 2.2.1 覆盖元素的 CSS 'position: relative;' 的正确方法是什么?

javascript - 如何在 JS 中从 ArrayBuffer 写入文件

html - 具有输入插件样式问题的 Bootstrap 弹出窗口

javascript - 如何删除 Mongoose 中的特定子文档