gpt4 book ai didi

javascript - 在 sails.js 中区分移动版本和桌面版本的最简单方法是什么

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:37 25 4
gpt4 key购买 nike

在 sails.js 下为移动设备用户提供自定义布局的最佳方式是什么?

(除了大量条件严格的 .ejs 文件之外。)

最佳答案

你可以这样做:

  • 通过 express-device 检测设备,通过 npm install --save git://github.com/marionebl/express-device 安装
  • 为移动设备提供单独的布局

检测设备

// config/express.js
var device = require('express-device');

module.exports.express = {
// All your other express settings...
middleware: {
custom: true // This will not be needed on the next version of Sails
},

customMiddleware: function (app) {
app.use(device(app).capture());
app.enableDeviceHelpers();
app.enableViewRouting();
}
}

这将使 req.device 可用,并将设备保持在 type 中。 app.enableViewRouting() 根据设备类型选择自动路由。已知类型有手机、平板电脑、台式机、电视、机器人文档:https://www.npmjs.org/package/express-device

根据设备类型单独布局

要为设备类型创建单独的布局,您可以在 views/[type]/ 中创建 layout.ejsexpress-device 将自动选择匹配设备的特殊布局,如果没有找到特定布局,则渲染默认布局。

views/
├── view.ejs
├── layout.ejs
└── [type]/
└── layout.ejs

如果本例中 type = 'phone',所有来自手机的请求都会导致 res.view('view') 使用 views/phone/layout.ejs。任何其他设备都将获得使用 views/layout.ejs 呈现的响应。

关于javascript - 在 sails.js 中区分移动版本和桌面版本的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21687548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com