Stop using @import with Sass | @use and @forward explained

Sdílet
Vložit
  • čas přidán 1. 06. 2024
  • Keep up to date with my Sass course: beyondcss.dev/?O...
    The use of @import has been deprecated in Sass for quite a while now, but a lot of people still use it. In this video, I take a quick look at the replacements you should be using instead, @use and @forward. I just scratch the surface in this one, but it should be enough to get you started!
    A quick note, if you are using node-sass, it is out of date and @use and @forward, as well as their entire module system, will not work. If you're using the Watch Sass extension in VS Code, there is no way to update it. If you are using npm or yarn, just switch out the install of node-sass for sass instead.
    Check out this video for the basics of getting Sass set up using the command line: • Sass with auto-refresh...
    Why Sass changed to Dart: sass-lang.com/blog/announcing...
    // Chapters
    00:00 - Introduction
    00:56 - Watching files for changes
    02:00 - @use basics and namespacing
    04:46 - important @import and @use difference
    07:46 - namespacing
    08:38 - @forward with an index file
    12:22 - Outro
    #sass #scss
    --
    Come hang out with other dev's in my Discord Community
    💬 / discord
    ---
    Keep up to date with everything I'm up to
    ✉ www.kevinpowell.co/newsletter
    ---
    Help support my channel
    👨‍🎓 Get a course: www.kevinpowell.co/courses
    👕 Buy a shirt: teespring.com/stores/making-t...
    💖 Support me on Patreon: / kevinpowell
    ---
    My editor: VS Code - code.visualstudio.com/
    ---
    I'm on some other places on the internet too!
    If you'd like a behind the scenes and previews of what's coming up on my CZcams channel, make sure to follow me on Instagram and Twitter.
    Instagram: / kevinpowell.co
    Twitter: / kevinjpowell
    Codepen: codepen.io/kevinpowell/
    Github: github.com/kevin-powell
    ---
    And whatever you do, don't forget to keep on making your corner of the internet just a little bit more awesome!

Komentáře • 591

  • @XavierSmithXcellence
    @XavierSmithXcellence Před 3 lety +221

    Yes, please do an advanced video.

    • @luiscolome75
      @luiscolome75 Před 3 lety +1

      I'm Xavier, It's just amazing how easy to understand are things like this with your videos. Great Work!

  • @TheLollercaster
    @TheLollercaster Před 3 lety +119

    I don't know it sounds like a pain in the butt to me. Although, I do understand why some people find it important.

    • @aqua123670
      @aqua123670 Před 3 lety +12

      yeah it only becomes an overhead for most cases

    • @PaxNot
      @PaxNot Před 3 lety +17

      Totally agree. It seems like just added boilerplate if one isn't suffering from namespace conflicts. Good explanation though, but my team will not see this as a net positive.

    • @matteobagni1235
      @matteobagni1235 Před 3 lety +2

      Well the complications start when using a 3rd party or open source, surely you remove the issue of overnaming, but the import is just an overhead...

    • @JeSus-hl6zj
      @JeSus-hl6zj Před 3 lety +1

      It reminds me of ES Modules in JS. I really like it, basically because I'm used to the namespacing and organizing files that go together around an index file and export all of their stuff. I think it makes a lot more sense than globally available variables. It's more verbose, but it's less stuff to keep in mind or guess about

    • @patrick-dev
      @patrick-dev Před 3 lety +1

      I agree that is an overhead functionality, but you'll definitely find it very useful once u have like, more than 30 SASS files in ur project. You're no longer forced to bring all the files into the main SASS file that is compiled to the public CSS file.

  • @jaredmeyer997
    @jaredmeyer997 Před 2 měsíci +1

    Before I found this video, I was beginning to panic, unable to get @use and @forward to work for me. This was extremely helpful - thank you!!

  • @invictuz4803
    @invictuz4803 Před 2 lety +61

    Freaking fantastic, I couldn't understand what on earth was going on after reading the official docs and a CSS tricks article, but you managed to explain it like I was 5 years old in 5 minutes. Would definitely take your Sass course after this to stay up to date, when registration opens...

    • @Pavel-wj7gy
      @Pavel-wj7gy Před rokem +5

      I agree. SCSS docs are pretty bad as far as explaining things.

  • @mentalmaniac76
    @mentalmaniac76 Před 2 lety +2

    Kevin, thank you so much for continuing to keep us up to date on these types of things. I swear without you I would be left behind in the CSS world. I appreciate all that you do

  • @katrinaaponte4787
    @katrinaaponte4787 Před 3 lety +13

    Kevin, I just wanted to say thank you for all you do. You've really helped me as I learn design and development. I also really appreciate that you don't edit it out if you make a mistake. You fix it and move on. This helps me to not tear myself down if I make a mistake.

  • @ericschmidt6129
    @ericschmidt6129 Před rokem

    Kevin, this is just what I needed. I'm coming up to speed with Sass and @use and @forward are some of the first things I needed to learn. Your explanations are very clear and understandable. Thank you for sharing your knowledge.

  • @shumit
    @shumit Před 2 lety +18

    Mr. Powell, simply magnificent !! Fantastic explanation !! People like you let us (beginners from not-so-developed economies/countries) move forward in life one step at a time. THANK YOU !!! May you prosper in life !!

  • @TheTonym415
    @TheTonym415 Před rokem +4

    Please do more advanced tutorials about @forward and @use. You teaching style is very easy to follow and accessible!

  • @MackRichardson
    @MackRichardson Před 3 lety +1

    Great quick intro to @use and @forward. Please do a more advanced video. I would also love to see your strategy for using media queries with SASS. In Vanilla CSS, I used to create multiple stylesheets for each breakpoint. With SASS, my media queries are in my components files and I've found it can get muddled pretty quickly. Thanks for the great videos and keep up the awesome work.

  • @angelliendo583
    @angelliendo583 Před 3 lety

    Thank you very much, Kevin! You help us all understand Sass and Css better. Make a video of what's new in Sass, please!

  • @user-mg8lh5vi4j
    @user-mg8lh5vi4j Před rokem +2

    Finally understood. Impossible to explain it clearer and shorter 🤓 🚀 Thanks Kevin, you're extremely talented to teach whatever you bring into your videos!

  • @zaynalee8910
    @zaynalee8910 Před 3 lety +2

    Hi Kavin, I'm also a Frontend UI/UX Developer and I enjoyed watching your videos. these are very helpful. Please make more videos on Advanced SCSS practices.
    Thanks

  • @rahul-thakare
    @rahul-thakare Před 3 lety

    Stumbled many times on @forward, finally got the clarity.
    Thanks. 🙏🏼

  • @stillready6405
    @stillready6405 Před 3 lety +2

    Finally someone who explains the changes on Sass. I couldn't get it working on my own, knowing the changes, so I just stucked to the @import. Thank you for the video. Time to get used to a new work flow.

  • @craigmillerer
    @craigmillerer Před 3 lety

    This is fantastic timing Kevin! I use the same boilerplate project file for my websites that I continually add to. As it has grown, it has a number of reused SASS files. All of which utilise the @import method. I think this is a good time for me to strip back my SASS files and restructure it is in the fashion. Thank you for this explanation! I look @forward to seeing more @use-s of this 😂

  • @ThienPowChong
    @ThienPowChong Před 2 lety

    your voice and flow of detail is perfect!

  • @kleberpereira8503
    @kleberpereira8503 Před rokem

    Your content is simply incredible.
    I'm a front-end developer here in Brazil and I confess that watching your videos I don't even consider myself a front-end anymore (laughs). I still have a lot to learn.
    Waiting for more videos like this.

  • @stephanpetersen3600
    @stephanpetersen3600 Před 3 lety

    We have to invest more into the setup, but for the usability we will get the return. Thanks for your great work!

  • @0oopssorry
    @0oopssorry Před 3 měsíci

    At first you think "oh no, this is a lot to absorb..." and then you think "how could I have lived without this?!".
    Thanks for the gradual layering of information when it comes to a complex thing.

  • @francescofaccia
    @francescofaccia Před 2 lety

    thanks Kevin, very well explained! How easy hard topics are when you tackle them and explain to us!

  • @avneet12284
    @avneet12284 Před 3 lety +1

    Amazing clarity. Would be nice to delve deeper into the module system if possible, Kevin. Thank you.

  • @tanglesite4461
    @tanglesite4461 Před 3 lety

    Awesome! Finally! I have been using Sass with @use and @forward as a self-taught developer for a while now, and wondered if I had been doing it right!? I am so glad you have done this video. If you could do a video on the "with" keyword, and perhaps how we should architect our projects when using sass like this. Awesome Kevin job. Keep it up!!!!
    The way sass has built this up. I think it opens Sass up for richer architectures and more extensible and robust use cases. Blocks of CSS kind of act like abstract classes now, we can extend them, hide variables, set up entire libraries of components from the macro to the atomic ... as much as we wish! I think this truly gives sass super powers! Awesome Video!

  • @luisalbertovillarortiz7424

    Dunno If you are "the king of CSS", However, there is no way, there is no doubt, You are the best "CSS-SASS Instructor" outside there!!! Thank so much Kevin!!!!

  • @Furki4_4
    @Furki4_4 Před rokem

    I just started learning sass and many thanks to youtube recommendations for recommending me this video :D Thank you as well Kevin

  • @origami_canoe1952
    @origami_canoe1952 Před rokem

    thank you for being so clear !!!!!!! your teaching style is very easy to grasp

  • @TravisHi_YT
    @TravisHi_YT Před 2 lety

    Nice clear video with no fluff, I'll now be swapping my projects over. I feel as though learnsass should put a link to this video in the @import warning on their website.

  • @ozzyozborne4539
    @ozzyozborne4539 Před 3 lety

    dear God! I just implement it on my project and it took me the half of the day! its not easy when you have multiple files.
    thank you Kevin

  • @somnvm37
    @somnvm37 Před 3 lety

    I'm getting into scss and all of that file organisation stuff.
    And it is actually significantly improves what had.
    Very cool thing.

  • @anaisrevellat5692
    @anaisrevellat5692 Před 10 měsíci

    Just thank you, all make sense now, I was looking for a clear explanation and guess what, you are the only one to be clear about this topic ! Just perfect

  • @GGdevelopment
    @GGdevelopment Před 2 lety

    Dude I love your stuff. I have a long list of videos you make on my to watch list. Haha finally got back into front end after a year of be dev. I'm glad I got you 😊

  • @md.redwanhossain8822
    @md.redwanhossain8822 Před 2 lety +3

    Great. You should make a full playlist on sass. Your explanation level is always top notch.

  • @novanoskillz4151
    @novanoskillz4151 Před 2 lety

    Great explanation, please dive deeper into sass

  • @andrejtellenow
    @andrejtellenow Před 3 lety

    definitely interested in more in-depth usage of @use and @forward - that would be awesome. more sass videos in general would be great :)

  • @zariachenshui7386
    @zariachenshui7386 Před rokem +1

    Brilliant explanation. Miles better than the official Sass documentation. Grateful and subbed.

  • @patricknelson
    @patricknelson Před 2 lety

    Been using SCSS since 214 but on an old project; interested in casually learning some of the new features that have been added over time, for sure.

  • @JordanAF808
    @JordanAF808 Před 3 lety

    Duuuude, did you read my mind!? I was learning about all this new sass stuff yesterday and here you are!

  • @rihardssimanovics
    @rihardssimanovics Před 2 lety

    Hey, thank you soooo much. I am currently trying to get my dev team to move away from old sass to dart sass and have hit this exact issue. for now, I'll use this video to fix the problem and then start reading more on the @use and @forward.

  • @TimHerbert509
    @TimHerbert509 Před 11 měsíci

    Been stuck doing backend for years now and jumping back into front end more prevelantly I realized I'm behind the curve again. Your channel has been invaluable for getting back up to speed on all the updates / changes to CSS/SASS etc... Thanks so much!

    • @aninham
      @aninham Před 11 měsíci +1

      yesss welcome again to frontend! Hope you're enjoying your ride! Im considering doing the other way around but no idea where to start

    • @TimHerbert509
      @TimHerbert509 Před 11 měsíci

      @@aninham I've been a WordPress developer for years and it is an easy one to pick up the backend for. Not near as lucritive as so many other backends. PHP has Laravel, python has django, JS has Node, and it goes on and on. Just dive in and build stuff. Best way to learn!

  • @meijiOrO
    @meijiOrO Před 8 měsíci

    Thank you for explaining how to use @forward! Since I'm learning react I found myself having to change to npm sass instead of node-sass. Finding out I had to convert to @use in the first half of the video was making me PISSED cause I don't want to keep typing over and over again for global things like variables and mixins. Thankfully you showed us @forward cause I was going to riot.

  • @piyushpranjal1837
    @piyushpranjal1837 Před 2 lety +1

    Looking forward for the complete scss series

  • @sikelelankohla1499
    @sikelelankohla1499 Před 11 měsíci

    This video was fantastic, I stuggled with this and kept on wondering why I cannot use my syle sheets. I almost gave up thank you very much

  • @TusharShukladevx
    @TusharShukladevx Před 3 lety +1

    Great video! I read an article about @use last year and couldn't understand why I should make this switch but your video clarified it nicely. I'd also like to known(even if in brief) what else (or advanced stuff) can we do with @use and @forward.
    Thanks a lot for this video :)

  • @codeSTACKr
    @codeSTACKr Před 3 lety +136

    Great explanation!

    • @KevinPowell
      @KevinPowell  Před 3 lety +8

      Thanks :D

    • @samuelcatlow
      @samuelcatlow Před 3 lety +2

      This needs to be included in your weekly round ups. 😁

    • @somerandomchannel382
      @somerandomchannel382 Před 3 lety

      Um how do you compile your css file when typing in the scss file? :)

    • @newnam
      @newnam Před 2 lety

      @@somerandomchannel382 You'll have to start with this video: czcams.com/video/wYWf2m_yzBQ/video.html, which explains how to get started with watching your SCSS.

  • @samimesopotamia7495
    @samimesopotamia7495 Před rokem

    Excellent explanation and I was really hopeless before I got this video, much thanks and appreciation

  • @guillermoandradaFSD
    @guillermoandradaFSD Před 3 lety +1

    Thank you very much...
    Please give me more Sass techniques. You explain it so good. It's so clear now. Thank you again...

  • @sumukhakb2701
    @sumukhakb2701 Před 3 lety

    Great explanation. Do more videos on showing new sass features

  • @richarddrawsstuff2728
    @richarddrawsstuff2728 Před 2 lety

    Thank you for making this video. Was considering using sass again.

  • @stephen1569
    @stephen1569 Před 2 lety

    I’m very interested in this. Please make some in-depth videos on this stuff. Many thanks !!

  • @thomasmatthews406
    @thomasmatthews406 Před 2 lety

    Oh my God, you have saved me from giving up. You are the best my friend, thankyou.

  • @lornecyr849
    @lornecyr849 Před 3 lety

    Awesome explanation, I would love to see a more in depth video/series of videos on Dart Sass :)

  • @helloredwan
    @helloredwan Před 3 lety

    Love you man....Thanks a lot for helping to get up to date....make us a helpful video with a very helpful sass nodules which can be more faster to code. Like some useful mixin some function. Thanks boss. Have a great time ❤

  • @user-se6ct5zu2f
    @user-se6ct5zu2f Před rokem +1

    Thanks for the explanation! You're the only who helped me understand it. But the downside of this system is that you can't use your functions withing mixins as if it would be in a single file i.e. _vars.scss. So I'd like to see more videos on sass file structure, how to organize your project sass files with this new modular system. Thanks a lot for understatnding!!!

  • @KarimShalapy
    @KarimShalapy Před 3 lety +1

    Definitely need the advanced use and forward video.

  • @sakshijain6087
    @sakshijain6087 Před 2 lety

    This is very knowledgeable video. Thanks Kevin!

  • @janelleschuh8424
    @janelleschuh8424 Před 3 lety

    Thanks so much for the great video! When I first learned sass a few months ago I was reading the docs and noticed that @import was deprecated. I tried using @use but it wasn't working. And I thought it was me being a new dev and all! Guess not...it was Live Sass Compiler! Haha! Guess I'll trust my instincts next time...

  • @jaceborg
    @jaceborg Před 3 lety +3

    Seems like an arduous solution to a problem that most SASS users have never experienced :/

  • @ekanemeno4565
    @ekanemeno4565 Před 3 lety +2

    My brother and I started learning and working with SASS just last night and he told me about how much he love the 'import' keyword.
    Your video came in at the perfect time and again shows why we must keep learning

  • @rkd-me
    @rkd-me Před 3 lety

    Okay, found you by accident, watched three videos and decided to sub, great explanations.

  • @squ34ky
    @squ34ky Před 3 lety +6

    I've been using @import for ages... I didn't know about @use

  • @abhishekshukla2745
    @abhishekshukla2745 Před 3 lety

    Awesome Explanation!
    Please dive into advanced usage.

  • @yourix2
    @yourix2 Před 2 lety

    Hahah you had that typical classroom teacher face when you said. "Take a guess". That classroom student feeling came rushing to my brain hahah xD

  • @deltachidesigns
    @deltachidesigns Před 3 lety

    Thank you very much, just what I needed right now! I would love to see some more advanced features in a future tutorial. :)

  • @DanielRios549
    @DanielRios549 Před 2 lety

    This is amazing, I love CSS, I always yes it with Sass to use nested styles, but I never had heard about @use and @foward, the way it works is very similar to others languages such as Python

  • @mohan9285
    @mohan9285 Před 3 lety

    Awesome, Thank you Kevin.
    It made me to think "why I was not looking about new things in Sass/SCSS" !!!.
    as many stuffs are rapidly changing in this technical world, need to grab those and get benefitted.
    looking forward for more videos related to SCSS from you :) Cheers.

    • @dealloc
      @dealloc Před 3 lety

      Considering Ruby Sass has been around since 2006 (!), Node Sass since 2011 and Dart Sass 1.0 was released in 2018-I'd consider that to be quite a slow process compared to other software.

  • @ropurifiedwater
    @ropurifiedwater Před rokem

    Thank you sir for the video, would love to see another sass video for the more advanced stuff. Thank you once again, you helped me understand a lot :)

  • @chandrakant6283
    @chandrakant6283 Před 2 lety

    What a time to be learning Sass including me.
    Thanku sir, you're a life saver.

  • @erikkisko3194
    @erikkisko3194 Před 3 lety

    I would be happy to watch more advanced video!!! Please make it.

  • @kareNbud
    @kareNbud Před 2 lety

    Very helpful and very nicely compact explanation!

  • @juggysingh1470
    @juggysingh1470 Před 2 lety

    great explanation of the new sass fundamentals, you have a new sub

  • @oussemabrini6237
    @oussemabrini6237 Před 2 lety

    Thanks dude ,great explanation,i'm waiting for more advanced video.

  • @imtheaman
    @imtheaman Před 3 lety

    Thanks very much for making this tutorial. my extensions were getting crashed each time when i was using import while the server running.

  • @nathanwatts76
    @nathanwatts76 Před 3 lety

    Great explanation, yes please continue with more advanced topics.

  • @ModifiedMusicYT
    @ModifiedMusicYT Před rokem

    just started using sass recently and the ability to have all "imports" go to one file then only call that one file. love it!

  • @ShaunLevett
    @ShaunLevett Před 3 lety

    I was banging my head against the wall getting @forward to work. Cheers Kevin.

  • @andressa1163
    @andressa1163 Před 9 měsíci

    what an explanation!!! super clear, thanks!!

  • @allie-ontheweb
    @allie-ontheweb Před 3 lety

    I'd definitely love to see more SASS videos!

  • @lighty262
    @lighty262 Před 3 lety

    Thank you for the news, greatly appreciated.

  • @dimitrisleontaridis449

    Man, I set the playback speed to 0.75 and your flow still sounds normal!
    Btw great info, clearly explained. Thanks for the video

  • @Jamiered18
    @Jamiered18 Před 3 lety +1

    I didn't like it at first, it seemed like a lot of extra work. Then you explained the additional features and now I do like it, they actually thought about how to make it simpler without killing the benefits of namespacing.

  • @LyricLounge7
    @LyricLounge7 Před 3 lety

    Thank you very much, Kevin. I've been waiting for a tutorial about this

  • @ridl27
    @ridl27 Před 3 lety +6

    I didnt even know that @import has been deprecated lol. Ty

  • @xardass4209
    @xardass4209 Před 3 lety +1

    Thank you for info. For everyone using own configured webpack you just need to uninstall node-sass and install dart-sass and should it works fine. On webpack page there's mention that node-sass not supports @use and on pages node-sass and dart-sass also correct info to the subject.

  • @qodesmith520
    @qodesmith520 Před 3 lety

    You always have fantastic content 💯

  • @staffel0232
    @staffel0232 Před 2 lety

    Muchas gracias!, Saludos desde Colombia. Justo estoy iniciando con Sass y estas clases me vienen muy bien.

  • @israelmedinagalicia
    @israelmedinagalicia Před 3 lety

    wow !!!. Your explanation let me see a whole new approach

  • @Phobo55
    @Phobo55 Před 2 lety

    Looking forward for the most advanced

  • @frostyy3683
    @frostyy3683 Před 2 lety

    Thank you Kevin, this helped me out big time

  • @jagjeetsingh4597
    @jagjeetsingh4597 Před 3 lety

    Great Video Kevin! 🖒waiting for more new SASS Videos

  • @lali0050
    @lali0050 Před rokem

    Ohhh Jesus! you really save me. thanks for the clarity.

  • @Pareshbpatel
    @Pareshbpatel Před 3 lety

    Great Lesson. Thanks, Kevin.

  • @maciejmyslinski7820
    @maciejmyslinski7820 Před 3 lety

    I've to try it. Thanks for video!

  • @mudyeet_
    @mudyeet_ Před 3 lety

    Would love more videos on sass please!

  • @WIBEDRILLMusic
    @WIBEDRILLMusic Před 2 lety

    Yes, please do advanced video 🤩!

  • @darz_k.
    @darz_k. Před 3 lety +3

    Thanks for the vid Kevin. I love your content man.
    I really don't like these changes to SASS though!
    What happened to DRY?!
    ..and then if you do change the namespace, the code can get really messy and hard for other developers to follow without having to go and check.
    I feel like they've changed this just to be following some sort of software update flow, and just changed it to stay current.
    I'm sure there is some benefit somewhere, but asking people to change their whole workflow should come with huge benefit.. aaand make sense.

  • @georgesaitdev
    @georgesaitdev Před 2 lety

    So nice! That was 13 minutes well spent! Good stuff, you got yourself a subscriber :-). Thanks!

  • @danielahermosillo8991

    High quality explanation! Thank you very much for your video, helped me a lot! New subscriber :)!

  • @mangadi3859
    @mangadi3859 Před 2 lety

    So that's why i can't use @use. I'm using the vscode extension. Thank you kevin!

  • @itsWooody
    @itsWooody Před 2 lety

    Didnt know ../ was what i missing to access nested scss files thanks for the video helped a ton!

  • @sudhamajayanthi
    @sudhamajayanthi Před 3 lety

    Obsessed with your videos!