I've been trying to get the hydrate bundle working and have a few issues:
- Assets are not loading
- The components flash on initial load
I'm wondering if I'm doing something wrong, or if you have any suggestions to fix the above issues. The prerendering happens in server.js
- Run:
git clone git@github.com:benelan/stencil-prerender.git cd stencil-prerender npm i npm run dev - Open the app in the browser
- Click on the big blue "Calcite" link
- Notice that components flash when they load and that there is a banana icon next to the header. The components flashing when dynamically importing on the client side makes sense, so that's not an issue
- Shutdown the dev server
- run
npm run server - Open the app in the browser
- Click on the big blue "Calcite" link
- Notice that the components flash on initial load and there is no banana icon. You can see the flash if you refresh the
/calciteroute as well. However, if you click back and forth between the "Home" and "Calcite" blue links it works great after the initial load.
It seems like prerendering and hydrating the components should prevent this flash. Maybe the hydration is causing a React VDOM diff and a rerender? Do you have any working examples for using the hydrate bundle that I can use as reference?
This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying pages/index.js. The page auto-updates as you edit the file.
API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.
The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.