Express服务(静态)基于设备

时间:2015-11-11 17:22:31

标签: node.js mobile express npm ionic-framework

我试图通过快递向客户展示基于其设备的不同网站。即移动用户通过网络应用程序为移动应用和桌面用户提供服务。

这是我的代码:

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应用程序意味着无法加载。

有没有关于如何更好地做到这一点的想法?

由于

0 个答案:

没有答案