Как сделать маршрутизацию для мобильного просмотра в экспрессе - PullRequest
0 голосов
/ 26 мая 2019

Я хочу изменить URL для мобильного телефона.www.example.com to m.example.com

Я использую функцию isMobile для определения типа устройства.Я не знаю, что делать для маршрутизации.например: m.example.com/index

, пожалуйста, помогите мне

в app.js

function isMobile(req, res, next) {
if ((/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(req.headers["user-agent"]))) {      
res.redirect('//m.' + req.host+ req.path);
} else {
next()
}
}


app.get('/',isMobile,routes.index);

Если устройство мобильное, я хочу запустить маршруты.mobileindex.Как?

1 Ответ

0 голосов
/ 29 мая 2019

Если вы хотите визуализировать отдельное представление для мобильных устройств в одном приложении, это было бы довольно просто.это просто вопрос создания другого файла представления, и вы можете применить свой отдельный макет и стиль CSS для его разработки.

var express = require("express");
var router = express.Router();

function isMobile(req, res, next) {
  if (
    /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(
      req.headers["user-agent"]
    )
  ) {
    // Instead of redirecting to another view you can also render a separate
    // view for mobile view e.g. res.render('mobileview');

    res.redirect("/mobile/device");
  } else {
    next();
  }
}

/* GET home page. */
router.get("/", function(req, res, next) {
  res.render("index", {
    title: "Express"
  });
});

router.get("/device", isMobile, function(req, res, next) {
  res.json("normal view is rendered");
});

router.get("/mobile/device", function(req, res, next) {
  res.render("mobile");
});
module.exports = router;

Я установил перенаправление здесь, но это не лучший способ, есливы находитесь в том же приложении, поскольку вы можете напрямую нажимать /mobile/device на просмотр, в этом случае вам также потребуется промежуточное программное обеспечение или вы можете повторно использовать промежуточное программное обеспечение isMobile для перенаправления на обычный просмотр.Я бы предпочел использовать res.render('yourviewname')

Надеюсь, это даст вам идею продолжить!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...