使用Express将包路由添加到主应用程序路由中

时间:2016-01-29 17:25:34

标签: angularjs express

我正在编写自己的MEAN堆栈。我想在一个类似于mean.io如何做的水平架构中构建它。每个包都有自己的服务器和具有自己路由的公用文件夹。

我有一个server.js,这是我在根级别的主要快速文件。当我用npm start启动时,我想让每个包注册自己的路径/在我的主应用实例上挂载自己的路由。出于某种原因,虽然我尝试这样做时表达了错误。

有人可以告诉我吗?非常感谢。 https://github.com/peb7268/LMFM.git

1 个答案:

答案 0 :(得分:0)

在子模块/包中(在这种情况下是用户)我需要以不同方式挂载:

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

var Users = function(){
    var self        = this;
    self._name      = 'users';
    console.log('initializing ' + self._name);

    router.route('/')
    .get(function(req, res){
        res.send('finding '+ self._name);
    });
}

module.exports = {'router': router, 'instance': new Users()};

取代router.route('/ users');

因为你做app.use('/ users',路由器); '/',默认路径将与子模块中的'/ users'冲突。