express.router为空
发布于 2年前 作者 iln168 2652 次浏览

console.log(typeof express.router)结果为undefined app.use(express.router(routes))如何使用啊

6 回复

app.use(app.routes);

你好,express.router(routes),提示没有这个方法,不知道是什么原因?express.router和app.router有什么不同?

3.0已经删了这个方法了,这个方法原来在nodejs开发指南上用的,现在deprecated,用app.router或者自己的routes文件,routes(app);

当使用routes后,路由了http://examples.com/artice/:page 这里可以通过req.params.page来获取这个page 那如果这时,我还希望有这样的url,http://examples.com/article/2?keyword=mykey 这时我还有办法来获取keyword的值吗。 其实还有什么办法。

我的解决方案是这样: app.js 中 var routes =require(‘./routes’); app.confirgure() 中添加app.use(routes(app)); routes/index.js 代码如下: 其实就是将app对象当参数传给自己的路由函数,最后return 回来给app.use

 /*
     * GET home page.
     */
    var user = require('./user')
      , md = require('./markdown');
    module.exports = function (app) {
        app.get('/', function(req, res){
          res.render('index', { title: 'Express' });
        });
    
        app.get('/users', user.list);
        app.get('/markdown', md.demo);
        return app.router;
    }

req.body.keyword

回到顶部