Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

503
Vistas
¿Cómo usar localStorage en el lado del servidor en node.js?

Estoy tratando de acceder a Browser localStorage desde el lado del servidor. Lo probé usando las bibliotecas de nodos node-localStorage, store y store2, pero nada funcionó. Cuando revisé el almacenamiento local del navegador, estaba vacío.

Esta es mi prueba.js

 import playwright from 'playwright-core'; import response from '../token.json' assert {type: "json"}; import { LocalStorage } from "node-localstorage"; global.localStorage = new LocalStorage('./scratch'); (async () => { const browser = await playwright["chromium"].launch({ headless: false, slowMo: 2000 }); const context = await browser.newContext(); const page = await context.newPage(); await page.goto("http://localhost:3000/trader-desktop/login"); localStorage.setItem('token', response.token); localStorage.setItem('tokenType', response.tokenType); localStorage.setItem('tokenExpirationTime', response.tokenExpirationTime); localStorage.setItem('userId', response.userId); localStorage.setItem('realms', JSON.stringify(response.realms)); localStorage.setItem('phone', response.phone); await page.goto("http://localhost:3000/trader-desktop/account-selection") await page.pause(); await browser.close(); })();

Este es mi archivo package.json

 { "type" : "module", "devDependencies": { "playwright": "1.21.1" }, "dependencies": { "node-fetch": "^3.2.4", "node-localstorage": "^2.2.1", "store2": "^2.13.2", "type": "module" } }

¿Hay alguna manera de que pueda resolver esto? No puedo usar window.localStorage porque la ventana no está definida en node.

Gracias por adelantado :)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Usé esto y funcionó a las mil maravillas. Gracias a todos sus aportes.

 const fs = require('fs'); const localStorage = fs.readFileSync('../localStorage.json', 'utf8') const deserializedStorage = JSON.parse(localStorage) await page.evaluate(deserializedStorage => { for (const key in deserializedStorage) { if (key === "realms") { localStorage.setItem(key, JSON.stringify(deserializedStorage[key])); } else { localStorage.setItem(key, deserializedStorage[key]); } } }, deserializedStorage);

Fuente

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede establecer elementos de almacenamiento local evaluando esta expresión:

 await page.evaluate( `window.localStorage.setItem('X', 'Y')` );
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda