2016-04-23 6 views
0

Ich sah Vimedo Video (https://vimeo.com/56166857) und folgte seiner Richtung, um meine Webanwendung mehr Modul wie zu bauen.Wie kann ich Router statt App in Express verwenden?

// project/signup/index.js 
var express= require('express'); 
var app = module.exports= express(); 
app.set('views', __dirname); 
app.set('view engine', 'jade'); 
app.get('/', function(req,res){ 
    res.render('form'); 
}); 

// project/app.js 
var express = require('express'); 
var app = express(); 
var login= require('./login'); 
var signup = require('./signup'); 
app.use('/login', login); 
app.use('/signup',signup); 
module.exports=app; 
var port = 4100; 
app.listen(port, function(){ 
    console.log('we are connecting server at '+ port); 
}) 

Allerdings möchte ich router statt app verwenden, so möchte ich meinen Code so aussehen,

// project/signup/index.js 
.. 
router.get('/', function(req,res){ 
    res.render('form'); 
}); 

Ich habe var router = express.Router(); und module.exports=router; innerhalb von index.js aber hatte keine Glück. Habe ich etwas hier vergessen?

Antwort

0

Ihr require() Pfad scheint falsch. Sie sollten var signup = require('./signup/index'); Und meistens Express-Apps nutzen ich Gebrauch folgende Projektstruktur gesehen haben:
App dir
__app.js
__/Routen
____ login.js
____ signup.js
__/Ansichten
____ login.jade

// project/routes/signup.js 
const router = require('express').Router(); 
//... 
router.get('/', (req, res) => { 
    res.send("signup!"); 
}); 

module.exports = router; 

// project/app.js 
const signup = require('./routes/signup'); 
//... 
app.use('/signup', signup); 
+0

Ich versuche ein bisschen anders. Ich mache meins als Modul – jaykodeveloper

Verwandte Themen