2016-03-30 41 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