2016-04-26 12 views
0

Expressアプリケーションのための安らかなAPIを設定する際にいくつかの問題があります。ここでExpressルーティングエラー/ api/nameを取得できません

は私app.jsです:

/routes/api.jsで
var express = require('express'), 
app = express(), 
bodyParser = require('body-parser'), 
methodOverride = require('method-override'); 
routes = require('./routes'), 
api = require('./routes/api'), 
port = process.env.PORT || 3000; 

app.use(express.static(__dirname + '/public')); 
app.use(bodyParser.json()); 
app.use(methodOverride()); 
app.use(bodyParser.urlencoded({extended: true})); 

// Page Routes 
app.get('/', routes.index); 
app.get('/partials/:filename', routes.partials); 

// // API Routes 
app.get('/api/name', api.name); 

app.listen(port, function() { 
    console.log('Listening on port ' + port); 
}); 

私は、次のテスト機能を持っている:私はhttp://my_ip/api/nameに行くとき

exports.name = function (req, res) { 
    res.json({ 
     name: 'Test' 
    }); 
}; 

は現在、私は次のエラーを取得します GET/api/name

アイデアはありますか?

ありがとうございました

+1

.log(api.name) ' app.js – uzaif

+0

@uzaif私は:[機能]を取得します。関数名()は正常に動作しているようです。何かの道をそれにする – UltraViolent

+0

'API(アプリ);' app.jsでこれを試して、それは仕事かどうかチェックしますか? – uzaif

答えて

1

次のコードは私のために働いています。あなたのルートパッケージに問題があると思います。あなたは 'ルート'パッケージとファイル構造のコードを共有できますか?あなた `コンソールあれば何を得る

app.js

var express = require('express'), 
app = express(), 
routes = require('./routes'); 
api = require('./routes/api'), 
port = process.env.PORT || 3000; 

// Page Routes 
app.get('/', routes.index); 

// API Routes 
app.get('/api/name', api.name); 

app.listen(port, function() { 
    console.log('Listening on port ' + port); 
}); 

/routes/api.js

exports.name = function (req, res) { 
    res.json({ 
    name: 'Test' 
    }); 
}; 

/routes.js

exports.index = function (req, res) { 
    res.json({ 
    name: 'Index' 
    }); 
}; 
+0

ありがとう、私はちょうどこれに私のアプリを取り除き、今動作します。だから私は後方に働いて、私の主なアプリでどこが間違っているのかを理解する。 – UltraViolent

関連する問題