(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Af hverju ættir þú að nota SCSS í stað Styled Components? - The Codest
The Codest
  • Um okkur
  • Þjónusta
    • Hugbúnaðarþróun
      • Framhliðþróun
      • Bakendaþróun
    • Staff Augmentation
      • Framhliðaráþrófarar
      • Bakhliðaráþróunaraðilar
      • Gagnaverkfræðingar
      • Skýjaverkfræðingar
      • Gæðatryggingartæknimenn
      • Annað
    • Það er ráðgjafi
      • Endurskoðun og ráðgjöf
  • Iðnaðargreinar
    • Fjártæknifyrirtæki og bankastarfsemi
    • E-commerce
    • Adtech
    • Heilbrigðistækni
    • Framleiðsla
    • Flutningar
    • Bifreiða
    • Internet hlutanna
  • Gildi fyrir
    • CEO
    • CTO
    • Afhendingarstjóri
  • Teymið okkar
  • Case Studies
  • Vitið hvernig
    • Blogg
    • Fundir
    • Vefnámskeið
    • Auðlindir
Starfsferilmöguleikar Hafðu samband
  • Um okkur
  • Þjónusta
    • Hugbúnaðarþróun
      • Framhliðþróun
      • Bakendaþróun
    • Staff Augmentation
      • Framhliðaráþrófarar
      • Bakhliðaráþróunaraðilar
      • Gagnaverkfræðingar
      • Skýjaverkfræðingar
      • Gæðatryggingartæknimenn
      • Annað
    • Það er ráðgjafi
      • Endurskoðun og ráðgjöf
  • Gildi fyrir
    • CEO
    • CTO
    • Afhendingarstjóri
  • Teymið okkar
  • Case Studies
  • Vitið hvernig
    • Blogg
    • Fundir
    • Vefnámskeið
    • Auðlindir
Starfsferilmöguleikar Hafðu samband
Aftur ör Farðu aftur
2019-04-01
Hugbúnaðarþróun

Af hverju ættir þú að nota SCSS í stað Styled Components?

The Codest

Jakob Ludzik

Vöruhönnuður

Undanfarna tvo mánuði hef ég unnið að verkefni fyrir einn af viðskiptavinum okkar. Þegar ég var rétt í byrjun stóð ég frammi fyrir vali á bókasafni til stílsetningar.

Hér er tómt.

Eftir að hafa borið saman vinsælar lausnir eins og hreint CSS, Emotion, SCSS og Stílhreinar einingar, ég valdi loks þann síðasta. Allt virtist vera í lagi. Hann hefur mjög vinsæla bókasafn nú á dögum, sem þýðir
Það er þegar til stór hópur, svo ef ég lendi í einhverjum vandræðum mun ég líklega finna lausn einhvers staðar á Stack Overflow eða GitHub. Að auki, Stílhreinar einingar Eiga nokkrar fínstillingareiginleika sem þýðir að þær birtast aðeins þegar þörf krefur. Þeir verkefni var búist við að yrði byggt með React og Tegundaskjal. Þessi bókasafn býður upp á frábæran stuðning fyrir báðar tæknir. Hljómar frábærlega, ekki satt?

Ég byrjaði þá að kóða. Eftir mánuð, þegar forritið hefur vaxið, frontendið lið og ég einbeittum okkur að afhendingu eiginleika, komumst við að því að hið ótrúlega Stílhreinar einingar Bókasafnið hafði sitt eigið mark og ég mun segja þér af hverju.

Fyrst og fremst, nafngiftingarreglugerðin. Til aðgreiningar Stílhreinar einingar frá React íhlutir, ég þurfti að nota Stílhrein forskeið sem minnkaði kóði Lestrarhæfni. Síðan (sem gæti verið skrýtið) stuðningur við TypeScript. Stílhreinar einingar, eins og þú gætir vitað, byggja á CSS-in-JS-aðferðinni. Þetta þýðir að þú getur sent þeim hvaða prop sem er og breytt stílnum, þ.e. útliti inntaksins, út frá þessum prop, og ég tel persónulega að þessi eiginleiki sé frábær. Í TypeScript ættirðu einnig að innleiða gerð þessa prop, sem gerir kóðann lengri hvað sem er Stílhreinn íhlutur. “En það myndi taka svona fimm sekúndur í viðbót, svo hvað er vandamálið þitt?” – gætirðu sagt. Þú hefur rétt fyrir þér, þó þegar forritið stækkar hratt og fjöldi íhluta er
Þar sem þetta eykst, er auðvelt að margfalda þessar fimm sekúndur hundruð sinnum. Annað vandamál er staðsetningin á Stílhreinar einingar.

Sumir JS forritarar setja þau í sömu skrá og þær íhlutir sem þau tilheyra, en aðrir búa til sérstakar skrár fyrir þau. Báðar nálganirnar eru góðar af mörgum ástæðum. Það fer aðallega eftir flækjustigi íhlutarins. Að fylgja annarri þessara aðferða getur viðhaldið samheldni, en að sameina þær skapar nákvæmlega hið gagnstæða. Við hættum að nota CSS-in-JS-aðferðina og fluttumst yfir í SCSS. Það var ekki auðvelt né fljótlegt en með smá hjálp komumst við þangað. Við byrjuðum að stíla HTML-tagi í BEM-aðferðafræði og, auðvitað, settum stíla í aðskildar skrár, eina fyrir hvern þátt. Ég sagði að það að senda JS-eiginleika til Stílhreinar einingar er frábær eiginleiki, en í SCSS Það er ómögulegt. Ég held að við séum öll sammála um að setningafræði React til að kóða skilyrtar flokka sé hræðileg.

kóði react flokksnöfn

Jæja, það er ein ansi áhugaverð lausn. Ef þú tengir BEM-aðferðafræðina við flokk bókasafn, þú munt fá eitthvað svona (stórt hrós til vinar míns Przemeks Adamczyk fyrir að sýna mér þetta bókasafn)

clsx kóði

Lítur mun hreinna út, finnst þér ekki?

Það besta er að þú þarft aðeins að slá inn skilyrðisbreytuna á íhlutastigi og
Ekki á stílstigi. Það sparar virkilega tíma. Því miður hefur slík lausn sín ókostina.
SCSS er einfalt og notendavænt en vertu varkár þegar þú notar það með Next.js. Þetta rammasett gerir það ekki
Leyfa að flytja inn stílskrár beint í íhlutisskrána (aðeins CSS-einingar).

Ef þú kýst eina skrá fyrir hvern íhlut, þarftu að búa til vísitala.scss sem inniheldur allt þitt SCSS skrár og
Flytja það inn í _app.tsx skrá. Eina vandamálið er að þú þarft að flytja inn hvern og einn handvirkt. SCSS skrána sem þú bjóst til. Í React er þetta vandamál hins vegar ekki til staðar og þú getur flutt inn SCSS Skrár hvar sem þú vilt. Ekki misskilja mig. Stílhreinar einingar eru virkilega góðar. Eins og ég sagði áður, er það ótrúlegt að geta sent JS-breytur sem og alþjóðlega þemað. Þegar þú býrð til stórt forrit þar sem hagræðing er mikilvæg, mun þessi bókasafn líklega uppfylla þarfir þínar. Í okkar tilfelli hins vegar, flutningur til SCSS Landaði stóru.

Ályktun

Að lokum, þó að gild rök séu fyrir báðum SCSS og Styled Components í vefþróun , endanleg ákvörðun ræðst af ýmsum þáttum. SCSS býður upp á kunnari málfar fyrir reynslumiklir forritarar í hefðbundnu CSS og býður upp á hnökralausa samþættingu við það sem fyrir er kóðagrunnar og íhlutabókasöfn .

Á hinn bóginn, Stílhreinar einingar bjóða upp á bætt upplifun forritara með getu sinni til að fanga stíla innan íhluta og einfalda stílsetningarferlið. Það stuðlar einnig að móduleiningu og endurnýtanleika kóða, sem gerir framanverðu viðmóti kleift verkfræðingar til að stjórna á skilvirkan hátt möguleikar stýringar og búa til samræmda notendaviðmótið um allt vefur forrit . Með hliðsjón af mikilvægi notandi gögn Varðandi öryggi og frammistöðu er mikilvægt að meta áhrif beggja nálgana á endanlega stærð pakkans og hleðslutíma. Að lokum er valið milli SCSS og Styled Components ætti að byggja á sértækum þörfum verkefnisins, færni setti af þróun team , og heildarmarkmiðin af vefforrit . Það er ráðlegt fyrir forritara að meta alla þætti og fylgjast með nýjustu þróuninni í gegnum bloggfærslur og iðnaðarræður, og taka upplýsta ákvörðun sem samræmist kröfum verkefnisins og eykur heildina framhlið þróunarferli .

Tengdar greinar

Hugbúnaðarþróun

Samanburður meistaranna: Angular vs Vue

Nú eru nokkur frontend-rammasöfn sem notuð eru víða og sífellt þróuð af höfundum sínum, hvert þeirra örlítið ólíkt hinu. En samt gætu þau haft eitthvað sameiginlegt. Hér...

Oliwia Oremek

Gerðu þig áskrifanda að þekkingargrunni okkar og vertu upplýstur um sérfræðiþekkingu upplýsingatæknigeirans.

    Um okkur

    The Codest – Alþjóðlegt hugbúnaðarþróunarfyrirtæki með tæknimiðstöðvar í Póllandi.

    Bretland - Höfuðstöðvar

    • Skrifstofa 303B, 182-184 High Street North E6 2JA
      Lundúnir, England

    Pólland - staðbundin tæknimiðstöðvar

    • Fabryczna skrifstofugarður, Aleja
      Herbergi 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsjá, Pólland

    The Codest

    • Heim
    • Um okkur
    • Þjónusta
    • Case Studies
    • Vitið hvernig
    • Starfsferilmöguleikar
    • Orðabók

    Þjónusta

    • Það er ráðgjafi
    • Hugbúnaðarþróun
    • Bakendaþróun
    • Framhliðþróun
    • Staff Augmentation
    • Bakhliðaráþróunaraðilar
    • Skýjaverkfræðingar
    • Gagnaverkfræðingar
    • Annað
    • Gæðatryggingartæknimenn

    Auðlindir

    • Staðreyndir og goðsagnir um samstarf við utanaðkomandi hugbúnaðarþróunaraðila
    • Frá Bandaríkjunum til Evrópu: Af hverju ákveða bandarísk sprotafyrirtæki að flytja til Evrópu?
    • Samanburður á tæknifjarkerfisþróunarmiðstöðvum: Tech Offshore Europe (Pólland), ASEAN (Filippseyjar), Eurasia (Tyrkland)
    • Hvert eru helstu áskoranir CTO-a og CIO-a?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Höfundarréttur © 2026 af The Codest. Öll réttindi áskilin.

    is_ISIcelandic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lvLatvian lt_LTLithuanian is_ISIcelandic