我观看了vimedo视频(https://vimeo.com/56166857)并按照他的指示构建我的Web应用程序更多模块。
// 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);
})
但是,我想使用router
代替app
,所以我希望我的代码看起来像这样,
// project/signup/index.js
..
router.get('/', function(req,res){
res.render('form');
});
我在index.js中添加了var router = express.Router();
和module.exports=router;
,但没有任何运气。
我在这里错过了什么吗?
答案 0 :(得分:0)
您的require()
路径似乎有误。你应该使用var signup = require('./signup/index');
而且,我所看到的大多数快递应用都遵循项目结构:
App目录
__app.js
__ /路线
____ login.js
____ signup.js
__ /视图
____ 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);