Comments (9)
@JonathanDoelan Could you clarify what you think should be the default behaviour?
from sanity.
@danielroe the privateRuntimeConfig-part. But this maybe conflicts with the mode, where ssr=true and target=server. Because then it would always use the uncached cdn.
So I think it should be mentioned at least in the docs. For the reasons I‘ve described above.
from sanity.
@JonathanDoelan I don't think this is the right approach. I would instead simply create a plugin that - if in server mode - sets the useCdn
option to false. Then I think you would achieve your desired behaviour of getting freshest content when statically generated, yet using the CDN on client-side.
from sanity.
@danielroe What do you mean? Making it default is not the right approach or putting it inside privateRuntimeConfig
? Creating a plugin is simpler than the privateRuntimeConfig
snippet (in the docs)?
from sanity.
@JonathanDoelan I don't think putting it inside privateRuntimeConfig
is quite right given what you want to achieve. After all, this will hard code the useCdn: false
into your generated pages...
from sanity.
@danielroe oh ok. I’ve spent quite some time to come to this solution. … how would you do it/how should I do it?
from sanity.
I would instead simply create a plugin that - if in server mode - sets the useCdn option to false.
from sanity.
@danielroe Here is my approach like you’ve suggested:
// sanity-no-cache.server.js
// Do not use Sanitys CDN when (pre-)rendering server-side and isStatic
export default ({ $sanity, isStatic }) => {
if (isStatic) {
$sanity.config.useCdn = false;
}
}
But it does not work. It again takes the CDN, so that the prerendered app contains the old data.
How can we solve this?
from sanity.
@JonathanDoelan At the moment you'd need to overwrite $sanity.client
completely, but I think your approach (of just setting config) is more intuitive, so I'll refactor.
from sanity.
Related Issues (20)
- SanityContent type not the same as Sanity CLI output HOT 1
- useSanity in server handler broken in build version (module not found) HOT 8
- investigate using `@portabletext/vue` HOT 2
- Nuxt 3: Error __vite_ssr_import_1__.createClient is not a function
- useSanityQuery return data: null HOT 1
- Long queries via POST with perspective return 400 error HOT 1
- Return type for `useSanityQuery<T>(...)` is `any`
- Wrong type when using image-url like in the example?
- Forwarding Props to Dynamically Rendered Components using <SanityContent> in Nuxt 3
- How do I get the index or nth value of a specific block type within the portable text types in SanityContent? HOT 1
- Direct support for Visual Editing in Presentation HOT 5
- import `client` from `@sanity-typed/client` instead of `@sanity/client` HOT 3
- Nuxt Devtools and Visual Editing HOT 6
- NuxtLink not working when using useSanityQuery HOT 1
- Parent operator provides wrong value (exact same code works in Vision) HOT 4
- Issue with Nuxt Server API Call "Cannot read from private field" HOT 10
- Component inside <ClientOnly> is not rendered
- Hydration mismatching when using Pinia actions to fetch data with useSanityQuery HOT 5
- ISR does not work in in presentation mode HOT 6
- Sanity dependencies must be installed when deploying to netlify. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sanity.