2016-06-13 80 views
0

以下代码是我的第一个Express restfull应用程序。运行server.js后,我在FireFox中进入http://localhost:3020/helloworld网址后,预计我得到Hello, World!消息,但我得到这个消息:Nodejs无法在简单应用程序中获取/ helloworld

Cannot GET /helloworld 

代码:

var express = require('express'); 
var router = express.Router(); 
var app = express(); 
var server = require('http').createServer(app); 
var port = process.env.PORT || 3020; 

/* GET home page. */ 
router.get('/helloworld', function(req, res) { 
    res.render('helloworld', { title: 'Hello, World!' }); 
}); 

server.listen(port, function() { 
    console.log('Server listening at port %d', port); 
}); 
+0

快速路由器的文档 - http://expressjs.com/en/guide/routing .html#express-router –

回答

5

您所定义的路由的路由器上,而不是在应用程序。

var router = express.Router(); 

是一个路由器,不同于应用程序。

var app = express(); 

你在做什么错了,是你是不是安装在路由器上,其中/helloworld路由被定义的应用程序。

执行下列操作之一:

app.get('/helloworld', function(req, res) { 
    res.render('helloworld', { title: 'Hello, World!' }); 
}); 

否则添加在您的应用程序下面一行:

app.use('/',router); 
+0

之后,输入url我得到这个错误:'错误:没有指定默认引擎,没有提供扩展名。 (/var/www/signal/nodeJs/node_modules/express/lib/view.js:48:42)''我把'render'改成了'console.log(“dddddddd”);' –

+0

@Mahdi。 Pishguy ..你需要指定'view engine',你将使用哪个模板。阅读http://expressjs.com/ –

+0

''查看引擎'是的,但我不需要任何观点,我只想在控制台上回显简单的消息作为json格式的消息,我怎么能改变我的路线? –