我尝试在网络上搜索可以访问客户端的 localStorage 但找不到任何内容的节点模块。有人知道吗?
8 回答
您可以使用 :
node-localstorage
localStorage
在nodejs服务器端使用的 npm 模块。
var LocalStorage = require('node-localstorage').LocalStorage,
localStorage = new LocalStorage('./scratch');
如果您的意思是 html 5 localStorage,则没有这样的事情,因为 node.js 是一种服务器端技术。Html 5 localStorage 是支持的客户端功能
当页面加载时,发送一条查询客户端 localStorage 内容的帖子。
找到这个store
// Store current user
store.set('user', { name:'Marcus' })
// Get current user
store.get('user')
// Remove current user
store.remove('user')
// Clear all keys
store.clearAll()
// Loop over all stored values
store.each(function(value, key) {
console.log(key, '==', value)
})
对于 Node.js,您可以使用HandyStorage,这是一个快速且小型的 npm 包,其数据行为类似于state
以下示例:
const HandyStorage = require('handy-storage');
const storage = new HandyStorage('./store.json');
storage.setState({
name: 'Alireza',
lastname: 'Sh',
friends: [
'Jane',
'John'
],
visited: storage.state.visited || 0
})
storage.setState({
visited: storage.state.visited + 1
})
它会自动更改 JSON 文件,试一试!
服务器永远无法访问 LocalStorage。曾经。这将是一个巨大的安全问题。
如果您需要将它发送到服务器,那么您必须有一个客户端 JS 脚本来检索它,然后将它作为 Ajax 或 POST 请求的一部分发送到服务器。
当您需要在服务器和客户端之间定期传递少量数据时,Cookie 可以很好地工作。
如果您需要长期存储数据,则最好使用服务器上的数据库。
在 JS 文件中你这样写:
const LocalStorage = require('node-localstorage').LocalStorage,
localStorage = new LocalStorage('./scratch');
您还需要:打开新终端按 Control + C(不要担心它是为了清除而不是复制)并输入您的 file.js(例如:server.js)然后输入: npm i node-localstorage(现在你们都准备好了)。
我们无法保存到 Node.js 上的 localStorage。