我正在使用 Jade 构建 Node Express 应用程序,但我对如何将 View 路由到浏览器将发出的特定请求感到困惑。我知道为了让 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'));
});
发送应用程序的最基本方法是什么?在哪里可以找到有关此主题的更多详细文档?
谢谢。
最佳答案
I understand that in order to get URLs to work in the browser, we need to use Node's routes; however, from looking online, I have discovered that Express has its own router.
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
I am building a Node Express application using Jade, and I am confused about how to route my views to the specific requests the browser will make.
一旦调用了路由处理程序,例如(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
关于node.js - Node Express 中的 Jade URL 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12067230/