Poenostavitev uvoznih izjav v TypeScript
Pri delu na velikih projektih TypeScript ali JavaScript je pogosto naleteti na dolge uvozne stavke, zlasti pri uvozu več članov iz enega modula. Čeprav se te vrstice na začetku morda zdijo neškodljive, lahko zlahka presežejo vaše lepša konfiguracije printWidth nastavitev, zaradi česar je kodo težje brati in vzdrževati.
Da bo vaša koda čista in berljiva, je pomembno, da avtomatizirate oblikovanje teh uvozov. Orodja kot lepša in ESLint je mogoče prilagoditi za samodejno razdelitev dolgih uvoznih stavkov v več vrstic. To zagotavlja, da vaša koda ostane čista in dosledna ter se drži pravil oblikovanja, ki ste jih nastavili.
Vendar pa je lahko konfiguriranje teh orodij za samodejno oblikovanje uvoznih stavkov po želji težavno. Medtem ko privzete nastavitve Prettier in ESLint obravnavajo številne težave z oblikovanjem, pogosto ne uspejo, ko gre za razčlenitev dolgih uvoznih stavkov v več vrsticah.
V tem priročniku bomo raziskali, kako konfigurirati Prettier in ESLint za pravilno oblikovanje uvoznih stavkov v vašem projektu TypeScript. Sprehodili se bomo skozi nastavitve, ki so potrebne za uvoze v več vrsticah, hkrati pa ohranili doslednost v vaši kodni bazi.
Ukaz | Primer uporabe |
---|---|
prettier.format | Ta funkcija Prettier se uporablja za oblikovanje bloka kode v skladu s konfiguriranimi pravili (npr. printWidth, singleQuote). Obdela niz kode in vrne oblikovan izhod, zaradi česar je idealen za zagotavljanje skladnosti sloga kode. |
eslint.RuleTester | Ta ukaz, ki je specifičen za ESLint, razvijalcem omogoča testiranje pravil ESLint po meri. S posredovanjem vzorčne kode preizkuševalcu pravil potrdi, ali so pravila pravilno uveljavljena ali ne, na primer zagotovi, da so uvozi razdeljeni v več vrstic. |
prettier-plugin-organize-imports | To je vtičnik Prettier, zasnovan za samodejno organiziranje uvozov. Zagotavlja, da so uvozni stavki razvrščeni in v kombinaciji s pravili Prettier, kot je printWidth, lahko dolge uvoze razdeli v več vrstic. |
jest.describe | Funkcija Jest, ki združuje povezane teste. V tem kontekstu združuje teste, ki preverjajo, ali konfiguraciji ESLint in Prettier pravilno obravnavata dolge uvozne stavke, tako da jih razčlenita v več vrstic. |
import/order | To je specifično pravilo ESLint iz eslint-plugin-import, ki uveljavlja konvencijo o vrstnem redu uvoznih stavkov. Prav tako lahko uveljavi dodajanje novih vrstic med različnimi uvoznimi skupinami (npr. vgrajenimi, zunanjimi paketi). |
alphabetize | Znotraj pravila za uvoz/naročilo ESLint ta možnost zagotavlja, da so uvoženi člani razvrščeni po abecedi. To izboljša berljivost kode, zlasti pri večjih projektih z več uvozi. |
jest.it | Ta funkcija Jest se uporablja za definiranje testa posamezne enote. V tem primeru preveri, ali so dolgi uvozi pravilno razdeljeni v več vrstic s konfiguriranima praviloma Prettier in ESLint. |
newlines-between | Konfiguracijska možnost za pravilo uvoza/naročanja ESLint. Vsiljuje nove vrstice med uvoznimi skupinami (npr. zunanji in notranji uvozi), zaradi česar je koda bolj strukturirana in lažja za krmarjenje. |
Konfiguriranje Prettier in ESLint za večvrstični uvoz v TypeScript
Glavni cilj zgornjih skriptov je konfiguracija lepša in ESLint za samodejno oblikovanje dolgih uvoznih stavkov v več vrsticah v projektu TypeScript. Konfiguracija Prettier je nastavljena za definiranje slogov kodiranja, kot so enojni narekovaji in končne vejice, ter za upravljanje načina zavijanja kode z uporabo printWidth pravilo. Ko vrstica preseže nastavljeno širino (v tem primeru 80 ali 120 znakov), Prettier samodejno oblikuje kodo, da bo bolj berljiva. Z uporabo prettier-plugin-organize-imports plugin, zagotavljamo, da so uvozni stavki razdeljeni in razvrščeni logično.
V konfiguraciji ESLint je uvoz/naročilo pravilo iz eslint-plugin-import plugin je bistven za nadzor nad tem, kako so uvozi organizirani. Tukaj je cilj uveljaviti dosledno strukturo uvoza, kjer so uvozi iz različnih skupin (kot so vgrajeni moduli, zunanji paketi in notranji moduli) ločeni z novimi vrsticami. Poleg tega so uvozi znotraj iste skupine razvrščeni po abecedi za izboljšanje berljivosti. Ta pravila preprečujejo, da bi uvozi postali natrpani, zlasti ko gre za veliko število uvoženih članov iz več datotek.
Drug pomemben vidik nastavitve ESLint je nove vrstice-med možnost, ki zagotavlja, da je vsaka uvozna skupina ločena s prazno vrstico. Zaradi tega je koda bolj vizualno organizirana, zlasti v večjih kodnih bazah. V kombinaciji z po abecedi celoten uvozni blok postane strukturiran in lažji za vzdrževanje. Ko je koda oblikovana ob shranjevanju v Visual Studio Code, se te nastavitve uporabijo samodejno, kar zagotavlja dosledno oblikovanje uvoza v celotnem projektu brez ročnih prilagoditev.
Nazadnje je testiranje te konfiguracije ključnega pomena za zagotovitev, da deluje pravilno. The Šala testi enot so zasnovani tako, da preverijo, ali konfiguraciji Prettier in ESLint obravnavata razdelitev uvoza in oblikovanje po pričakovanjih. Na primer, ko je naveden dolg uvozni stavek, preizkus preveri, ali je pravilno razdeljen na več vrstic. Ta pristop omogoča razvijalcem, da avtomatizirajo testiranje svojih pravil oblikovanja in zagotovijo, da bodo vse prihodnje spremembe kode v skladu z istimi smernicami za strukturo uvoza.
Konfiguriranje Prettier in ESLint za razdelitev dolgih uvoznih izjav v TypeScript
Ta skript uporablja Prettier in ESLint za konfiguracijo oblikovanja za večvrstične uvozne stavke v projektu TypeScript. Poudarek je na front-end razvoju z Visual Studio Code.
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
Uporaba ESLint za uvozno oblikovanje z uvozom vtičnika ESLint
Ta zaledni skript konfigurira ESLint z uvoznim vtičnikom za uveljavitev večvrstičnih uvoznih pravil. Zagotavlja optimizirano modularnost kode.
module.exports = {
"extends": ["eslint:recommended", "plugin:import/errors", "plugin:import/warnings"],
"rules": {
"import/order": [
"error", {
"groups": ["builtin", "external", "internal"],
"newlines-between": "always",
"alphabetize": { "order": "asc", "caseInsensitive": true }
}],
"max-len": ["error", { "code": 80 }],
}
}
// ESLint rule setup to organize imports into multiple lines and ensure alphabetical order
Primer skripta za testiranje konfiguracije oblikovanja uvoza
Ta skript prikazuje uporabo konfiguracij Prettier in ESLint. Služi kot primer sprednjega dela, kjer so dolgi uvozi razdeljeni v več vrstic.
import {
longFunctionNameOne,
longFunctionNameTwo,
longFunctionNameThree
} from '@example/long-module-name';
import {
shortFunctionNameOne,
shortFunctionNameTwo
} from '@example/short-module-name';
// Example of formatted import statements following the configured rules
Preizkušanje enote za nastavitev oblikovanja uvoza
Ta zaledni skript zagotavlja preizkuse enot z uporabo Jesta, da zagotovi, da konfiguracije Prettier in ESLint delujejo po pričakovanjih v različnih okoljih.
const eslint = require('eslint');
const prettier = require('prettier');
const { describe, it } = require('@jest/globals');
describe('Import Formatting', () => {
it('should split long imports into multiple lines', () => {
const code = `import { a, b, c, d } from '@example/package';`;
const formatted = prettier.format(code, { printWidth: 80 });
expect(formatted).toMatch(/import { a, b }/);
});
});
// Unit test to check if long imports are split into multiple lines using Jest
Izboljšanje berljivosti kode z oblikovanjem uvoza Prettier in ESLint
Ko imamo opravka z večjimi kodnimi bazami, postane vzdrževanje doslednih uvoznih struktur ključnega pomena za izboljšanje berljivosti kode in skupinskega sodelovanja. Ena pogosta težava, s katero se srečujejo razvijalci, je, kako dolgi stavki za uvoz lahko zapolnijo vrh datoteke, zlasti če vsebujejo veliko elementov iz enega samega modula. Tukaj so orodja všeč lepša in ESLint pridejo v poštev, kar vam omogoča, da avtomatizirate razdelitev uvozov v več vrstic. Zagotavljanje, da uvozni stavki ustrezajo določeni širini, ki običajno temelji na printWidth nastavitev pomaga preprečiti vodoravno drsenje in omogoča enostavno skeniranje kode.
Drugi ključni vidik je organizacijski vzorec samega uvoza. Uporaba uvoz/naročilo pravilo, ki ga zagotavlja ESLint, lahko združite uvoze glede na njihov izvor: vgrajene knjižnice, odvisnosti tretjih oseb ali notranji moduli. Te skupine je mogoče razdeliti z novimi vrsticami, kar razvijalcem olajša hitro prepoznavanje odvisnosti. Ta metoda spodbuja strukturiran uvoz, ki v kombinaciji z abecednim razvrščanjem po po abecedi možnost, dodatno izboljša jasnost in doslednost v zbirki kode.
Poleg tega bodo razvijalci morda želeli uporabiti orodja, kot je prettier-plugin-organize-imports za zagotovitev, da uvozi niso samo pravilno razdeljeni, temveč tudi logično prerazporejeni. Ta orodja samodejno uveljavijo želeno uvozno strukturo vsakič, ko je datoteka shranjena v urejevalniku, kot je Visual Studio Code. To zagotavlja, da razvijalcem ni treba ročno prilagajati izjav o uvozu in se lahko osredotočijo na pisanje čistejše in bolj vzdržljive kode.
Pogosta vprašanja o uvoznem oblikovanju s programoma Prettier in ESLint
- Kaj je najboljše ESLint pravilo za organizacijo uvoza?
- The import/order pravilo iz eslint-plugin-import je idealen za organizacijo uvoza. Omogoča dosledno združevanje, razvrščanje in strukturiranje uvozov.
- Ali lahko razdelim uvozne izjave v več vrstic z uporabo Prettier sama?
- Prettier lahko razdeli dolge uvozne stavke v več vrstic, če je printWidth pravilo je preseženo. Vendar pa kombinacija z ESLint zagotavlja več prilagajanja.
- Kaj pomeni alphabetize možnost narediti?
- The alphabetize možnost v import/order zagotavlja, da so uvozni člani in stavki razvrščeni po abecedi, kar izboljša berljivost kode.
- Kako zagotovim, da so moji uvozi ob shranjevanju samodejno formatirani?
- Zagotovite, da oboje Prettier in ESLint so konfigurirani za izvajanje pri shranjevanju v vašem urejevalniku, običajno prek nastavitev v Visual Studio Code ali podobni IDE-ji.
- Zakaj uporabljati prettier-plugin-organize-imports?
- Ta vtičnik zagotavlja, da uvozi niso le razdeljeni v več vrstic, temveč so tudi logično razvrščeni in združeni, kar dodatno izboljša vzdržljivost kode.
Končne misli o konfiguraciji Prettier in ESLint
Nastavitev Prettier in ESLint za samodejno oblikovanje uvoznih stavkov je močan način za izboljšanje vzdržljivosti vašega projekta. Zagotavlja, da so dolgi uvozi razdeljeni, razvrščeni in organizirani logično.
S kombiniranjem teh orodij z vtičniki zagotovite skladnost v datotekah TypeScript. To ne samo da ohranja kodo čisto, ampak tudi izboljša sodelovanje znotraj vaše ekipe, saj struktura uvoza ostaja enotna.
Reference in uporabni viri za konfiguracijo Prettier in ESLint
- Za uradno dokumentacijo o Prettierjevi konfiguraciji glejte Lepša dokumentacija .
- Podrobne informacije o ESLint in pravilu za uvoz/naročilo najdete na eslint-plugin-import GitHub .
- Če želite raziskati, kako uporabljati vtičnike Prettier, kot je prettier-plugin-organize-imports, obisk prettier-plugin-organize-imports GitHub .
- Če želite izčrpen vodnik o konfiguriranju kode Visual Studio za samodejno formatiranje ob shranjevanju, preverite Nastavitve kode Visual Studio .