parse-hydration-data
🌲 Parse hydration data from an rendered Next.js/Nuxt.js app - ⚡️ for web scrapers
npm install parse-hydration-data
# Or with Yarn
yarn add parse-hydration-data
import { parseNextData } from 'parse-hydration-data/next'
;(async () => {
const { data: html } = await axios.get('https://nextjs.org')
const data = parseNextData(html)
console.log(data)
// { props: { pageProps: {} }, page: '/', query: {}, ... }
})()
npm install vm2
# Or with vm2
yarn add vm2
Sometimes Nuxt.js obfuscates data in window.__NUXT__
, so parseNuxtData
uses vm2 to safely execute outputs. This is an optional peer dependency, which means you only have to install when using this module with Nuxt.js apps.
import { parseNuxtData } from 'parse-hydration-data/nuxt'
;(async () => {
const { data: html } = await axios.get('https://conf.vuejs.org')
const data = parseNuxtData(html)
console.log(data)
// { layout: 'default', data: [ {} ], error: null, serverRendered: true }
})()