如何向root发出请求

时间:2014-05-04 13:25:21

标签: javascript node.js express get

我遇到的问题可能很愚蠢,但来自我对快递的一点知识。我用express创建了一个项目,我无法调用root,只能调用路由。我很确定这个问题出现在app.use(...)中。

app.js

var index = require('./routes/index');
var something = require('./routes/something');
...
app.use('/', index);
app.use('/users', users);
//This returns not found
app.get('/log', function(req, res){
   res.send("Test");
};

index.js

//Render index.ejs to localhost
...
//This works
idx.get(/log', function(req, res){
   res.send("Test Index");
}

那么我要在app.user(' /',HERE)中写什么才能让app / js中的get / post调用工作。我相信app.use(app.router)在3.x版本中处理了这个问题。

1 个答案:

答案 0 :(得分:0)

这很奇怪,我从未遇到过这样的事情,我只能告诉你一些提示。也许这是关于你宣布app.js的顺序。我从这个topic得到了下面的部分(感谢Peter Lyons),也许它对你有所帮助:

•不要使用app.configure。它几乎完全没用,你根本就不需要它。由于无意识的copypasta,它有很多样板。 •明确事项中的中间件和路线的顺序! •我在stackoverflow上看到的几乎每个路由问题都是无序的快速中间件 •一般而言,您希望您的路线分离,而不是依赖订单那么多 •如果您真的只需要2条路线的中间件(我正在看着你,bodyParser),请不要在整个应用程序中使用app.use •确保完成所有操作后,您确实已完成此订单: •任何超级重要的应用程序范围的中间件 •所有路由和各种路由中间件 •然后app.router •那么错误处理程序

•遗憾的是,受到sinatra的启发,express.js主要假设您的所有路线都在server.js中,并且很清楚它们是如何订购的。对于中型应用程序,将事物分解为单独的路径模块是很好的,但它确实引入了无序中间件的危险