Я работаю над приложением вывесок и хотел бы использовать 1 единственный файл маршрутов, в котором есть только 2 маршрута '/' и '/ update', однако я хочу направить несколько URL-адресов в этот файл маршрута и передать переменную в изменить содержимое маршрута. «/ Mainscreen» прекрасно работает, но когда я go в «/ east-end», он обслуживает содержимое «/ mainscreen». Я все еще изучаю Node.js и Express, так что я на 100% уверен, что это ошибка ID10T, но это просто забавный проект для изучения, но я застрял здесь.
вот что у меня есть
Раздел маршрута в приложении. js
// Screen Routes (io, List ID from key file, name of the screen/public folder)
app.use('/mainscreen', require('./routes/signage')(io, keys.mainListId, 'main'));
app.use('/east-end', require('./routes/signage')(io, keys.eastEndListId, 'east-end'));
Я передаю IO для socket.io для обновления sh страница, на которой запускается «/ update», а также уникальный ключ для обновления каждого экрана. Последнее, что я добавляю, - это имя папки / экрана publi c, чтобы она знала, откуда взять содержимое, а также из какого браузера (сокета) отправляет команду браузера refre sh.
Heres './routes/signage'
const express = require('express');
const router = express.Router();
const contentManagement = require('../tools/content-management');
const keys = require('../config/keys');
module.exports = function (io, listId, screen) {
io.sockets.on('connection', function (socket) {
console.log('New Socket Connection', socket.id);
});
router.get('/', (req, res) => {
var mediaList = contentManagement.listImages(screen);
res.render('signage', { urls: mediaList, screen });
});
router.get('/update', (req, res) => {
contentManagement.getContent(screen, keys.mainToken, keys.mainKey, listId);
res.send('Success! ' + listId)
setTimeout(() => {
io.sockets.emit(screen)
}
, 10000);
});
return router;
}
, если я делаю console.log(listId)
внутри моего module.exports
, при запуске приложения регистрируются оба идентификатора в моем терминале, но если Я делаю это в '/update'
всякий раз, когда я захожу в '/ east-end / update', он помещает идентификатор основного списка, а не идентификатор EastEnd в моем терминале. Надеюсь, это имеет смысл.
или я застрял, просто скопировав маршрут и назвав копии для каждого экрана, чтобы в папке маршрутов у меня было 10 маршрутов, если я передаю контент на 10 экранов?
Из-за моей неопытности с Node и express я бы догадался, как я делаю раздел маршрутов в моем приложении. Файл js не является правильным способом сделать это, поэтому любая помощь будет оценена! :)