【问题标题】:Jade URL Routing in Node ExpressNode Express 中的 Jade URL 路由
【发布时间】:2012-08-22 21:33:03
【问题描述】:

我正在使用 Jade 构建一个 Node Express 应用程序,我对如何将我的视图路由到浏览器将发出的特定请求感到困惑。我知道为了让 URL 在浏览器中工作,我们需要使用 Node 的路由;但是,从网上看,我发现 Express 有自己的路由器。

我使用 PHPStorm 启动我的项目,并且 index.jade 将加载...但是我如何加载其他的?这是我现有的代码:

var express = require('express'), routes = require('./routes'), http = require('http'), path = require('path');

var app = express();

app.configure(function ()
{
    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(express.cookieParser('your secret here'));
    app.use(express.session());
    app.use(app.router);
    app.use(require('less-middleware')({ src:__dirname + '/public' }));
    app.use(express.static(path.join(__dirname, 'public')));
});

app.configure('development', function ()
{
    app.use(express.errorHandler());
});

app.get('/', routes.index);

http.createServer(app).listen(app.get('port'), function ()
{
    console.log("Express server listening on port " + app.get('port'));
});

路由我的应用程序的最基本方法是什么,我在哪里可以找到有关此主题的更广泛的文档?

谢谢。

【问题讨论】:

    标签: node.js express pug


    【解决方案1】:

    我了解,为了让 URL 在浏览器中工作, 我们需要使用 Node 的路由;然而,从网上看, 我发现 Express 有自己的路由器。

    Node.js 本身不提供对“路由”的支持,但 Express 提供。您可以使用以下语法在 Express 中构建您的路线:

    app.[verb]('[url-path]', [handler]);
    

    因此,您的路由 app.get('/', routes.index) 将使用 routes.index 函数处理对 URL 路径 / 的 HTTP GET 请求。 Express 会自动将请求和响应对象传递给您的处理程序。

    您可以像这样添加更多路线:

    app.get('/users', routes.userList);
    app.get('/user/:id', routes.userInfoView);
    app.post('/user/:id', routes.userInfoSave);
    

    你可以在这里找到更多信息http://expressjs.com/api.html#app.param

    我正在使用 Jade 构建一个 Node Express 应用程序,并且我 我很困惑如何将我的观点路由到特定的 浏览器将发出的请求。

    一旦调用了路由处理程序,例如 (routes.userList),您可以在 userList 中调用 res.render() 方法来渲染您想要的 Jade 文件。例如:

    res.render('user_list', 
        { users: [{name: "user1", age: 10}, {name: "user2", age: 20}] });
    

    更多信息请看这里:http://expressjs.com/api.html#res.render

    【讨论】:

      猜你喜欢
      • 2014-03-04
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多