1
2
 
 

Hi

Hello, I created this project with the goal of quickly setting up a template using Nuxt and the “On-demand revalidation” configuration, integrated with a backend (currently only Pocketbase).

While researching, I discovered that “On-demand revalidation” is a very valid option for saving server resources in exchange for having more data in the cache, but this option requires integration with the backend you use in your project.

Workflow

  1. The user visits a page

  2. The server checks if that page exists in the cache

  3. If it exists in the cache, Nitro returns the cached page, and Nitro checks in the background whether the backend data has changed by reviewing “the data block”; since the backend did not send any signal, Nitro returns “the data block” from the cache

  4. If the page does not exist in the cache, it generates a new page, and Nitro checks if there is a “data block” in the cache; if there isn’t, it fetches the data from the backend

  5. Nitro’s configuration ensures that when a fetch is performed, that data is stored in the cache; that “data block” will expire in one week unless the backend sends an event to reset it.

  6. If the data changes on the backend, it sends an event to reset the cache in Nitro

You can run the script with bun, npm or pnpm

Example

npx nurev  

More info

https://codeberg.org/Serroda/nurev#how-it-works

Take a look and let me know what you think
Have a good day!

3
submitted 9 months ago by to c/vuejs@programming.dev
4
Vite: The Documentary (www.youtube.com)
submitted 1 year ago by to c/vuejs@programming.dev
5
 
 

Hi there, I'm working on a new app with Vuejs 3 and I wonder what are the good practice to architecture the app and to handle guards, JWT token refresh, reactivity and not having spaghetti code.

I started with the basic Vuetify app and added Pinia and the vue-router. 🤠

One problem I want to solve is how to get the list to populate the first page with a list of objects, lets say a book list. Right now I created a store.books list and an action to call the API, according to the doc ( https://pinia.vuejs.org/core-concepts/actions.html ). But then I have to call the action when the user log in, or when the component is mounted, or when there is a refresh.

I found it not very DRY and just not smart, so I need some help and good doc to understand how to structure my app.

Thank you 😌