You are literally THE resource that I point everybody curious about Svelte/SvelteKit to. They should literally hire you (and pay you handsomely) to spiff up their technical documentation and add a knowledge base. Literally - You are a treasure to the SK community.
@@JoyofCodeDev I agree with jrhager84. I am looking for the tool that you were using in one video that makes a border about svelte components. There was some red button to click... Can't find the video anymore. Mind to give me hint?
I watched many dozens of videos introducing Svelte but yours is by far the best mix of explaining things, showing them in a meaningful example, and not assuming I have used other frameworks before.
The image on the right explaining that inside routes exist the views and that each view has its own +page is the best thing that happened me on this week. Subscribed
Hey thanks so much for the tutorials you make. I'm a pretty new web developer and, Svelte Kit is my first proper framework. Having actual guides like this to follow makes it so much easier for me to learn and adapt to it! Also Thank you for the fantastic tips along the way like the ones about PNPM! You have most likely saved my harddrive 😅
@@JoyofCodeDev Hey, i tried making a footer in the +layout.svelte file, but how do i make the content of any page i load, appear at the bottom? Tried putting the footer under the file but that doesn't work hehe
This is amazing, probably the best Sveltekit route explanation out there with a big plus: tricks to dissect & track down the inner Sveltekit behaviours. That's invaluable @JoyofCodeDev, it would be very appreciated if you could explore almost any SvelteKit topics in the same fascion like this. Please keep up the amazing work 🙂
Just found your channel and I'm already addicted! You cover the exact topics I need (and didn't know I needed) and in a digestible and well explained manner. Video suggestion / request: increasing performance in a svelte kit project: stuff like using less reactivity, less dom elements, and even generic stuff like images, videos, fonts, blocking vs non blocking, etc.
This channel is so good I feel like a thief for watching these vidoes for free Edit: i just realized you use Brave browser, my respect for you skyrocketed even though it was massive even before
That's alright! 😄 I want the base content to be available to everyone because I think it's important for SvelteKit adoption. You can decide how to support my work by becoming a patreon or you can get a course in the future.
thank you for videos i actually learn better visually then reading docs currently following series even started simple movie app project in sveltekit and needed to get firm grasp about routing and video with examples like you show is handy indeed arl then ima keep watching cheers! keep up the quality content
If I'm on an route with an optional parameter like /en/about, I want the nav links to include the optional param. Otherwise a user may change the language and get redirected back to the default language when they navigate to another page. I basically need a way to generate an href by passing in a new optional param value, and keeping the rest of the URL as is.
Thank you again for your videos. A video with the most common errors to avoid in Sveltekit would be amazing. Im using sveltekit for it simplify and straight to the point philosophy but I’m not sure if I use the tools provided correctly. One little example : I have a store variable which is a Boolean called isAuthenticated. To make it simple, I use that store to give access to some features only to users who are authenticated. I import that store variable into every pages I need to use it. Then, I create a variable that subscribe to that value and display some features in my app depending if this value is True or False. I don’t know if it’s a good practice, if I should import it in my layer instead, or whatever. Or using another type of store options that would be more appropriate for that. That’s a simple example but a video showing good practices for things like that would be amazing.
I never make mistakes! 🤭 It's going to take time for good patterns and practices to emerge but SvelteKit also makes doing the right thing easy and the wrong thing hard. It sounds like you're making it more complicated than it has to be because SvelteKit already helps you with that. I have a video on SvelteKit authentication: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-E3VG-dLCRUk.html. I would also look at some auth libraries examples because they give you a good idea how these things are used.
@@JoyofCodeDev Yeah, I'm pretty sure there are other ways of doing this in a simpler way. I just set that challenge as I wanted to implement jwt access and refresh tokens using http only and secure true with django and make it work with sveltekit. Also, I chose to do it because I learned django and python way before JS and frontend frameworks like sveltekit. I managed to make it work perfectly, but as I'm still new to sveltekit, I was wondering if my way of managing my auth variable store was right. I'm definitely going to check your video on this subject and see how you implemented things :)
What I don't like about routing is that you can't reset the root layout, instead you have to use dynamic folders. Thanks for your work, your videos are awesome
I think they named it `` because it's what the web platform uses if you look at Web Components. You can put it inside any element. It's like a hole where everything else goes.
I'm wondering if you've ever tried mult-tenant with SvelteKit. I've been trying to figure it out on my own, but I'm only a beginner. It's a bit over my head at this point.
Maybe I missed it but, what if you have many places where you use the slug in the same way, is there a general location to put the script that checks the regex? Same with the error files, is there a general 404 error file? I wouldn't want to make a 404 page file for every subfolder. (I haven't even opened the docs yet myself, I'm learning purely from your videos)
1. You can reuse the matcher anywhere 2. There's a default `error.html` template SvelteKit uses but you can customize it by creating `src/error.html` or you can add `+error.svelte` to any route and SvelteKit just walks up the tree and renders the closest one
As we navigate between pages under a layout data for that page is loaded according to that page but how do we do we communicate a interaction that makes changes to layout Example a navigation bar that should change log in and logout label (login and logout are pages )
Something like user cookie or session can be stored in a store called "locals" when you get to doing auth in Sveltekit, you can now do a simple if check like "if (locals.user)" in your navbar component to dynamically render a login or logout link or button. Again this goes into when you start doing auth in sveltekit.
@@senseicodes implemented it the same way but layout doesn't fetch locals on page navigation under that layout and hence when i click on logout anchor tag the logout label doesn't change until u do a hard refresh (SSR)
I have an entire video on SvelteKit authentication that shows what you're asking for: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-E3VG-dLCRUk.html.
Regarding chatgpt, this has been more a waste of time than useful when it comes to coding. At first it looks very impressive, turning your text request into what looks like great code, but isnt. It makes mistakes - perhaps its human? No it repeats mistakes? Childish, human. No, worse. It cant "remember" what was asked already and you ask for a small change and it rewrites everything and includes mistakes it made earlier. It even put react code into svelte code! Then the bombshell, I asked for another change and it asked me what language I wanted that in. I asked what language did I ask in the first place. It said "Python". (I didnt). I asked what was my first request, what were the first 6 things I asked for. It reeled off a list mostly of someone elses request for a python code to calculate the distance between two longitudinal and latitude points. Interesting, but absolutely not mine! Not my new best friend, though useful at times. More NOTJoyOfCode!