2016-03-30 21 views
0

我已在控制台中使用express app1命令来生成快速应用程序。无法在Expressjs App中路由我的get方法

在app.js文件,我看到:

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

var routes = require('./routes/index'); // <- Line A1 
var users = require('./routes/users'); // <- Line A2 
var tt = require('./routes/test'); // <- Line B1 

var app = express(); 


// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', routes); // <- Line A3 
app.use('/users', users); // <- Line A4 
app.use('/test', tt); // <- Line B2 

如果你看行A1,A2线和线路A3,A4线你会发现一些传入的请求都被路由到这些路径。我检查了目录结构,我可以找到./routes/index.js和./routes/users.js。

所以我想添加我自己的。我开始:

  • 添加行B1和B2。
  • 复制的users.js并重新命名为test.js
  • 我重新启动服务器的NodeJS(使用npm start

我的问题是,当我浏览到http://localhost:3000/test我收到没有找到404,而http://localhost:3000/users工作得很好。

我在这里错过了什么?

如果你能帮助我,我将不胜感激。

请尽可能具体。请注意,此代码内容是使用快速生成器生成的。

感谢。

+0

wha在test.js里面吗? –

回答

0

好的。

我发现了我的错误。 在test.js文件中,我使用的是router.get('/test', ...,而我应该以这种方式留下第一个参数router.get('/', ...

所以基本上我创建一个路线:

http://localhost:3000/test/test