2016-09-16 65 views
0

我想为/ doc路径起诉一个中间件,以便它可以服务satic文件并具有基本身份验证。如何在express nodejs中为子路径使用中间件路由器

但是,当我试图让/ doc我有一个无法得到/ doc错误。

有没有人有任何想法?

var app = express(); 
app.use(bodyParser.urlencoded({ extended: true })); // parse application/x-www-form-urlencoded 
app.use(bodyParser.json()) ; // parse application/json 
app.use(functio //app.use('/doc', express.static('./doc'));n(req, res, next) { 
    res.header("X-powered-by", "NodeJs"); 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,Authorization"); 
    next(); 
}); 
app.use(function(req, res, next) { 
    console.log(' - ',req.originalUrl); 
    next(); 
}); 

var router = express.Router(); 

router.use(express.basicAuth('testUser', 'testPass')); 

router.get('/doc', function(req, res, next) { 
    console.log("inside doc"); 
    express.static('./doc'); 
    next(); 
}); 

app.use('/conf',require('./v1/data_config')); 

感谢,并认为

+0

你有'app.use('/',路由器);'在该文件的末尾? – tcooc

回答

1

两两件事: 你有你的路由器添加到您的快递应用程序,你应该将你的路由器作为认证之外的“/ DOC”路线可以与您的应用程序造成干扰。

var router = express.Router(); 
router.use(express.basicAuth('testUser', 'testPass')); 
router.get('/', express.static('doc')); 

app.use('/doc',router); 
相关问题