Node.js 基于设备的快速服务(静态)

Node.js 基于设备的快速服务(静态),node.js,mobile,express,npm,ionic-framework,Node.js,Mobile,Express,Npm,Ionic Framework,我正试图让express向客户展示基于他们设备的不同站点。即,移动用户通过移动应用程序获得服务,桌面用户通过web应用程序获得服务 这是我的代码: var express = require('express'), app = express(); app.get('/', function(req, res) { var ua = req.header('user-agent'); // Check the user-agent s

我正试图让express向客户展示基于他们设备的不同站点。即,移动用户通过移动应用程序获得服务,桌面用户通过web应用程序获得服务

这是我的代码:

var express     = require('express'),
    app         = express();

app.get('/', function(req, res) {

    var ua      = req.header('user-agent');
    // Check the user-agent string to identyfy the device.
    if(/mobile|iphone|ipod|android|blackberry|opera|mini|windows\sce|palm|smartphone|iemobile|ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(ua)) {

        console.log("mobile");
        app.use('/', express.static(__dirname + '/mobile-app/www'));
        res.sendfile(__dirname + '/mobile-app/www/index.html');

    } else {

        console.log("web");
        app.use('/', express.static(__dirname + '/web-app/www'));
        res.sendfile(__dirname + '/web-app/www/index.html');

    }
});
每个应用程序都运行良好。但是,如果我使用Chrome web工具更改设备,然后刷新,则不会加载其他设备。也就是说,如果第一个服务实例在web应用程序上,而我在移动应用程序上刷新,则移动应用程序将无法工作。如果first serve实例位于移动应用程序上,则刷新到web应用程序意味着不会加载该实例

关于如何做得更好,有什么想法吗


谢谢

也许这会对你有所帮助是的,谢谢-我在发布这篇文章之前看到了这个问题。这并没有真正的帮助,因为我的逻辑是相同的,但我的问题仍然存在。我已成功检测到移动/桌面用户。我的问题在于,在之后,当提供页面时。@EdStephenson Hi,你能告诉我你是如何解决这个问题的吗…??也许这会帮助你是的,谢谢-我在发布这个问题之前看到了这个问题。这并没有真正的帮助,因为我的逻辑是相同的,但我的问题仍然存在。我已成功检测到移动/桌面用户。我的麻烦在于,当服务页面时。@EdStephenson嗨,你能告诉我你是如何解决这个问题的吗。。???