我想在快递中进行移动检测,使移动和PC模块完全独立,但保持URL相同,这意味着我无法将路径重定向到/ mobile / ...只是因为请求来自移动设备
以下是app.js中的内容:
app.use(function(req, res){
var ua = req.header('user-agent');
if(/mobile/i.test(ua)) {
console.log('user agent is mobile');
mobileRouter.set(app);
} else{
console.log('user agent is pc');
pcRouter.set(app);
}
})
在pcRouter.js中:
var index = require('./pc/index');
var user = require('./pc/user');
var auth = require('./pc/auth');
module.exports.set = function(app) {
console.log('define pc router');
app.use('/', index);
app.use('/user', user);
app.use('/auth', auth);
}
在pc / index.js中:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
console.log('pc index');
res.render('index', { title: 'PC' });
});
module.exports = router;
当我请求主页时,终端只显示这两个日志: '用户代理是pc'和 'define pc router'
pc / index.js没有被执行,我想这是因为路由器必须在app.js已经启动时定义,但我怎么能意识到我之前所说的:
用户代理检测相同的URL路由,并保留移动子应用程序& pc子应用程序完全独立