Я пытаюсь сделать разные представления для каждого типа устройства.Если это правда, мобильный будет отображаться, mobile.ejs файл, если не мобильный, 'pages / index.js' .
В настоящее время мой файл index.js отвечает за настройку из Express.
Express:
const express = require('express')
const path = require('path')
const req = require('request')
const bodyParser = require('body-parser')
const PORT = process.env.PORT || 5000
const browser = require('browser-detect')
const router = express.Router()
if(browser) {
router.get('/', req => {
const result = browser(req.headers['user-agent']);
resultadoMobile = (result.mobile)
if (resultadoMobile) {
resultPath = "pages/mobile";
return resultPath;
}
else {
resultPath = "pages/index";
return resultPath;
}
})
}
express()
.use(express.static(path.join(__dirname, 'public')))
.set('views', path.join(__dirname, 'views'))
.set('view engine', 'ejs')
.use (bodyParser.urlencoded({ extended: true }))
.get('/', (req, res) => res.render(resultPath))
.listen(PORT, () => console.log(`Servidor iniciado em ${ PORT }`))
Итак, подведем итог:
Мне нужно использовать browser-Detection для определения мобильности, если true, рендеринг 'pages /mobile.ejs', если не ' pages / index.ejs '.
Ответ с сервера:
ReferenceError: **resultPath** is not defined
at express.use.set.set.use.get (\path\**\\index.js:33:38)
at Layer.handle [as handle_request] (\path\**\\node_modules\express\lib\router\layer.js:95:5)
at next (\path\**\\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (\path\**\\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (\path\**\\node_modules\express\lib\router\layer.js:95:5)
at \path\**\\node_modules\express\lib\router\index.js:281:22
at Function.process_params (\path\**\\node_modules\express\lib\router\index.js:335:12)
at next (\path\**\\node_modules\express\lib\router\index.js:275:10)
at urlencodedParser (\path\**\\node_modules\body-parser\lib\types\urlencoded.js:91:7)
at Layer.handle [as handle_request] (\path\**\\node_modules\express\lib\router\layer.js:95:5)