Node.js 如何使用nodeJS访问本地存储?
我有一个简单的nodeJS应用程序,它解析一个youtube URL,该URL存储用户的观看历史,并允许他们将视频作为书签。我将手表历史记录和书签存储在localStorage中Node.js 如何使用nodeJS访问本地存储?,node.js,local-storage,backend,Node.js,Local Storage,Backend,我有一个简单的nodeJS应用程序,它解析一个youtube URL,该URL存储用户的观看历史,并允许他们将视频作为书签。我将手表历史记录和书签存储在localStorage中 我需要在nodeJS中提供两个路由来列出当前的历史记录,并将URL保存到历史记录表中 我没有后端经验,但已经设法使用nodeJS创建了应用程序。欢迎提出任何建议 相关代码: //parse youtube url and change iframe src function loadVideo(videoURL){
我需要在nodeJS中提供两个路由来列出当前的历史记录,并将URL保存到历史记录表中
我没有后端经验,但已经设法使用nodeJS创建了应用程序。欢迎提出任何建议
相关代码:
//parse youtube url and change iframe src
function loadVideo(videoURL){
//split youtube url and get ID
var videoID = videoURL.split("v=")[1];
//change iframe src
videoSource = `https://www.youtube.com/embed/${videoID}`;
videoPlayer.src = videoSource;
logHistory(videoSource)
}
//create div element
function logHistory(videoSource){
var newHistory = document.createElement("li");
newHistory.classList.add("history-item");
newHistory.innerText = videoSource;
historyContainer.appendChild(newHistory);
//store element in localStorage
var historyCount = historyContainer.children.length;
localStorage.setItem("History item "+historyCount, videoInput.value)
}
LocalStorage是一个前端概念浏览器中运行的JavaScript可以访问它。Node.js位于后端,无法直接访问本地存储。
您需要通过在前端运行的脚本来访问它,因为它可以使用Ajax请求与后端通信。注意。此答案使用了socket.io,它不在问题中,但允许节点服务器与客户端脚本通信 我将分享一个我使用node.js[和socket.io]以及本地存储创建的应用程序的示例。正如其他人所说,这不能直接从node.js服务器完成 这段代码来自我的server.js(node.js server)文件 它向插座发送两条数据:startingPlayer和privateUsers。在本例中,startingPlayer是玩家的用户名,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传递到客户端脚本并访问本地存储的示例
function setStorage(key,info) {
localStorage.setItem(key, JSON.stringify(info));
}
function getStorage(key) {
var item = localStorage.getItem(key);
return JSON.parse(item);
}
值得注意的是:
我有两个javascript函数,这是我访问本地存储的方式
function setStorage(key,info) {
localStorage.setItem(key, JSON.stringify(info));
}
function getStorage(key) {
var item = localStorage.getItem(key);
return JSON.parse(item);
}
如果你有问题,请告诉我。希望这能有所帮助。您不能使用nodejs访问本地存储。它驻留在您的浏览器中