【发布时间】:2016-10-25 23:06:04
【问题描述】:
我需要根据我的 Node.js 应用程序中的用户代理进行重定向。我的 app.js:
var express = require('express');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var app = express();
var models = require('./models');
var EventEmitterService = require('./services/EventEmitterService');
//..... ommited
var io = require('socket.io');
var http = require('http');
var server = http.createServer(app);
io = io.listen(server);
var moment = require('moment');
moment().format();
app.set('view engine', 'jade');
app.set('port', Settings.WEBSERVICE.APP_PORT);
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(cookieParser());
app.get('/', function (req, res) { //!! WORKING, BUT NOT AS NEED
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)) {
res.sendfile(__dirname + 'public/app/index.html');
} else {
res.sendfile(__dirname + 'mobile/app/index.html');
}
});
app.use(express.static(path.join(__dirname, 'public/app'))); //!! OR mobile/app according to user-agent
app.use('/', MainController);
app.use('/schedule', ScheduleController);
//.... ommited
models.sequelize.sync().then(function () {
TaskService.clearTasks().then(function () {
server.listen(app.get('port'), function () {
MessageService.listen(io);
var now = moment();
var formatted = now.format('HH:mm:ss Z')
console.log("CURRENT TIME" + formatted)
process.on("uncaughtException", function (error) {
console.log("uncaughtException invoked: " + error);
});
process.on("unhandledRejection", function (reason) {
console.log("unhandledRejection invoked: " + reason);
});
EventEmitterService.logInvoke('INFO', 'Removing old tasks');
EventEmitterService.start().then(function () {
InitService.initialize();
});
}).on('error', function (e) {
});
});
});
module.exports = app;
【问题讨论】:
标签: javascript node.js mobile