Примечание. Этот ответ использует socket.io, который не был задан в вопросе , но позволяет серверу узлов взаимодействовать со сценариями на стороне клиента.
Я собираюсь поделиться примером из приложения, которое я создал где я использовал node.js [и socket.io], а также локальное хранилище. Как и многие другие, это нельзя сделать напрямую с вашего node.js сервера.
Этот код с моего сервера. js (node.js server) file.
function setStartingPlayer(startingPlayer, privateUsers) {
//send starting player name to
io.emit('set-starting-player', startingPlayer, privateUsers);
}
Он отправляет в сокеты два фрагмента данных: начальный слой и частные пользователи. В этом примере начальный_плеер - это имя пользователя игрока, а privateUsers - массив имен текущих игроков.
В клиентском скрипте есть такая функция:
socket.on('set-starting-player', function(name, privateUsers) {
setStorage('turnIndicator', username);
var username = getStorage('username');
if (name === username) {
console.log('I am the starting player. My name is ' + username);
}
let playerInGame = checkPrivateUsers(privateUsers);
if (playerInGame === true) {
updateTurnIndicator(name);
}
});
Эта функция обращается к локальному пользователю. хранилище двумя способами, оно хранит данные в локальном хранилище и получает данные из локального хранилища. Это пример того, как вы можете передавать данные из Node.js в клиентский скрипт и получать доступ к локальному хранилищу.
Стоит отметить: у меня есть две javascript функции, вот как я получаю доступ к локальному хранилищу.
function setStorage(key,info) {
localStorage.setItem(key, JSON.stringify(info));
}
function getStorage(key) {
var item = localStorage.getItem(key);
return JSON.parse(item);
}
Если у вас есть вопросы, дайте мне знать. Надеюсь, это поможет.