2016-10-28 2 views
1

Ich versuche, ein router.get, das in einem anderen Ordner als/Routen ist einzurichten. Wenn ich den Browser auf diese Route leite, bekomme ich "Can not GET/auth_box" auf dem Browser-Bildschirm. Entweder kannst du das nicht, oder ich mache etwas dummes.Express Router "Kann nicht ..." auf dem Browser-Bildschirm

app.js:

var index = require('./routes/index'); 
var auth_box = require('./public/js/download_cs'); 
app.use('/', index); 
app.use('/auth_box', auth_box); 

download_cd.js:

var express = require('express'); 
var app = express(); 
var router = express.Router(); 
router.get('/auth_box', function(req, res){ 
    console.log("/auth_box"); 
}); 
module.exports = router; 
+0

'app.use (require ('pathtoroutefile');' Solange Sie den Router in Ihrer Route Datei aussetzen – magreenberg

Antwort

3

Sie haben die URL /auth_box zweimal.
Wenn Sie eine Route zu verwenden, ist das erste Argument der Standardpfad für diese Strecke, so jetzt die korrekte URL /auth_box/auth_box

In Ihrem Weg sein würde, tun nur

router.get('/', function(req, res){ 
    console.log("/auth_box"); 
}); 

Wie Sie bereits haben Set /auth_box in app.use('/auth_box', auth_box);

+0

. Ja, ich habe etwas Dummes getan !! Es funktioniert. Viel Dank –

2

Ihre download_cd.js sollte wie folgt aussehen. Durch die Verwendung von app.use('/auth_box', auth_box); Ihre angeben /auth_box als Basispfad für alle Routen in auth_box

var express = require('express'); 
var app = express(); 
var router = express.Router(); 
router.get('*', function(req, res){ //this matches /auth_box/* 
    console.log("/auth_box"); 
}); 
router.get('/sample', function(req, res){ //this matches /auth_box/sample 
    console.log("/auth_box/sample"); 
}); 
module.exports = router;