2016-11-02 10 views
0

私は、次のファイルにリクエストを別のルータに中継する方法がわかりませんか?

app.js

var express = require('express'); 
var app = express(); 
var api = require('./routes/api'); 
app.use('/api/v1/', api); 

ルート/ api.js

var express = require('express'); 
var router = express.Router(); 
var users = require('./users'); 

router.get('/Users', users); 

module.exports = router; 

ルート/ users.js

var express = require('express'); 
var router = express.Router(); 

router.get('/') 
    .get(function(req, res) { 
     res.send('Hello world'); 
    }); 

module.exports = router; 

しないのはなぜこれを持っています作業?代わりに

router.get('/') 
.get(function(req, res) { 
    res.send('Hello world'); 
}); 

のルート/ users.js

答えて

1

私は別のルートファイルを使用してこれをカスタマイズする必要があると思います。

app.js

var express = require('express'), 
    app = express(), 
    routes = require('./routes'); // Create a routes folder and under that create index.js 

app.use('/', routes); 

ルート/ index.js

var express = require('express'), 
    router = express.Router(), 
    apis = require('apis'); 

router.get('YOUR API NAME', apis.api); 
router.post('YOUR API NAME', apis.ANOTHER API HERE); 

フォルダAPIを作成し、APIのフォルダの下に、あなたのAPIを入れても、あなたのAPIをエクスポートするためのindex.jsを作成します。

のAPI/index.js

var APIs = ['api', 'ADD MORE APIs here']; 
APIs.forEach(function(api) { 
    module.exports[api] = require(__dirname + '/' + api)[api]; 
}); 

これはあなたを助けることを願っています。)

+0

この例では、my api.jsはindex.jsになりますか?それとも、これは真ん中の一歩でしょうか? –

0

は、APIの代わりにrouter.getのrouter.useを使用して

router.get('/',function(req, res) { 
    res.send('Hello world'); 
}); 

それとも

router.route('/') 
.get(function(req, res) { 
    res.send('Hello world'); 
}); 
+0

私はこれをしようとすると、私はいくつかの理由のための出力として「ユーザー」を取得します。 –

+0

コラボレーションしたい場合はhttps://ide.c9.io/burtonium/node-from-scratchを使用しています –

+0

あなたは「ハイユーザー」を送信していますか? –

0

をお試しください.jsは私のためにそれを固定

関連する問題