„TypeScript“ importavimo optimizavimas: „Prettier“ ir „ESLint“ konfigūravimas kelių eilučių formatui

Temp mail SuperHeros
„TypeScript“ importavimo optimizavimas: „Prettier“ ir „ESLint“ konfigūravimas kelių eilučių formatui
„TypeScript“ importavimo optimizavimas: „Prettier“ ir „ESLint“ konfigūravimas kelių eilučių formatui

Importavimo teiginių supaprastinimas naudojant TypeScript

Dirbant su dideliais „TypeScript“ arba „JavaScript“ projektais, dažnai susiduriama su ilgais importavimo teiginiais, ypač importuojant kelis narius iš vieno modulio. Nors iš pradžių šios linijos gali atrodyti nekenksmingos, jos gali lengvai viršyti jūsų Gražesnis konfigūracijos spausdinimo plotis nustatymą, todėl kodą sunkiau skaityti ir prižiūrėti.

Kad kodas būtų tvarkingas ir skaitomas, svarbu automatizuoti šių importuotų failų formatavimą. Įrankiai kaip Gražesnis ir ESLint gali būti pritaikytas automatiškai padalinti ilgus importavimo pareiškimus į kelias eilutes. Tai užtikrina, kad jūsų kodas išliks švarus ir nuoseklus, laikantis jūsų nustatytų formatavimo taisyklių.

Tačiau gali būti sudėtinga konfigūruoti šiuos įrankius taip, kad jie automatiškai formatuotų importavimo pareiškimus. Nors numatytieji Prettier ir ESLint nustatymai sprendžia daugybę formatavimo problemų, jie dažnai nepatenka, kai reikia išskaidyti ilgus importavimo teiginius keliose eilutėse.

Šiame vadove išnagrinėsime, kaip sukonfigūruoti Prettier ir ESLint, kad būtų tinkamai suformatuoti importavimo teiginiai jūsų TypeScript projekte. Peržiūrėsime nustatymus, reikalingus kelių eilučių importavimui, išlaikant nuoseklumą jūsų kodų bazėje.

komandą Naudojimo pavyzdys
prettier.format Ši gražiau funkcija naudojama kodo blokui formatuoti pagal sukonfigūruotas taisykles (pvz., printWidth, singleQuote). Jis apdoroja kodo eilutę ir grąžina suformatuotą išvestį, todėl idealiai tinka kodo stiliaus nuoseklumui užtikrinti.
eslint.RuleTester Ši komanda, skirta ESLint, leidžia kūrėjams išbandyti pasirinktines ESLint taisykles. Pateikdamas pavyzdinį kodą taisyklių tikrintuvui, jis patvirtina, ar taisyklės vykdomos tinkamai, pvz., užtikrina, kad importas būtų padalintas į kelias eilutes.
prettier-plugin-organize-imports Tai gražesnis įskiepis, skirtas automatiškai organizuoti importavimą. Tai užtikrina, kad importavimo teiginiai būtų rūšiuojami, o kartu su gražesnėmis taisyklėmis, pvz., „printWidth“, gali padalyti ilgą importavimą į kelias eilutes.
jest.describe „Jest“ funkcija, kuri sujungia susijusius testus. Šiame kontekste ji sugrupuoja testus, tikrinančius, ar ESLint ir Prettier konfigūracijos tinkamai apdoroja ilgus importavimo teiginius, suskirstydami juos į kelias eilutes.
import/order Tai yra specifinė ESLint taisyklė iš eslint-plugin-import, kuri įgyvendina importo ataskaitų tvarkos susitarimą. Taip pat gali būti, kad naujos eilutės būtų įtrauktos tarp skirtingų importavimo grupių (pvz., įtaisytųjų, išorinių paketų).
alphabetize ESLint importavimo / užsakymo taisyklėje ši parinktis užtikrina, kad importuoti nariai būtų surūšiuoti abėcėlės tvarka. Tai pagerina kodo skaitomumą, ypač didesniuose projektuose su daugybe importų.
jest.it Ši „Jest“ funkcija naudojama vieno vieneto testui apibrėžti. Šiame pavyzdyje jis patikrina, ar ilgai importuoti produktai yra teisingai suskirstyti į kelias eilutes pagal sukonfigūruotas Prettier ir ESLint taisykles.
newlines-between Importavimo / užsakymo ESLint taisyklės konfigūracijos parinktis. Tai priverčia naujas eilutes tarp importo grupių (pvz., išorinio ir vidinio importo), todėl kodas yra struktūriškesnis ir lengviau naršomas.

Prettier ir ESLint konfigūravimas kelių eilučių importavimui naudojant TypeScript

Pagrindinis aukščiau pateiktų scenarijų tikslas yra konfigūruoti Gražesnis ir ESLint automatiškai formatuoti ilgus importavimo teiginius keliose TypeScript projekto eilutėse. „Prettier“ konfigūracija nustatyta siekiant apibrėžti kodavimo stilius, pvz., pavienes kabutes ir kablelius, ir valdyti, kaip kodas turėtų būti apvyniotas naudojant spausdinimo plotis taisyklė. Kai eilutė viršija nustatytą plotį (šiuo atveju 80 arba 120 simbolių), Prettier automatiškai suformatuos kodą, kad būtų lengviau skaitomas. Naudodami gražesnis-įskiepis-organizuoti-importuoti papildinį, užtikriname, kad importavimo teiginiai būtų skaidomi ir rūšiuojami logiškai.

ESLint konfigūracijoje importas/užsakymas taisyklė iš eslint-plugin-import papildinys yra būtinas norint kontroliuoti, kaip organizuojamas importas. Tikslas yra sukurti nuoseklią importavimo struktūrą, kai skirtingų grupių (pvz., integruotų modulių, išorinių paketų ir vidinių modulių) importas būtų atskirtas naujomis eilutėmis. Be to, toje pačioje grupėje importuojami produktai yra suskirstyti į abėcėlę, kad būtų lengviau skaitoma. Šios taisyklės neleidžia importuoti netvarkingai, ypač kai susiduriama su dideliu importuotų narių skaičiumi iš kelių failų.

Kitas svarbus ESLint sąrankos aspektas yra naujos eilutės-tarp parinktis, kuri užtikrina, kad kiekviena importavimo grupė būtų atskirta tuščia eilute. Dėl to kodas vizualiai sutvarkytas, ypač didesnėse kodų bazėse. Kartu su abėcėlės tvarka taisyklė, visas importavimo blokas tampa struktūrizuotas ir lengviau prižiūrimas. Kai kodas suformatuojamas išsaugant „Visual Studio Code“, šie nustatymai taikomi automatiškai, užtikrinant nuoseklų importavimo formatavimą visame projekte be rankinio koregavimo.

Galiausiai, norint užtikrinti, kad ji tinkamai veiktų, labai svarbu išbandyti šią konfigūraciją. The Juokas vienetų testai yra skirti patikrinti, ar „Prettier“ ir „ESLint“ konfigūracijos importuoja skaidymą ir formatavimą taip, kaip tikėtasi. Pavyzdžiui, kai pateikiamas ilgas importavimo pareiškimas, bandymas patikrina, ar jis tinkamai padalytas į kelias eilutes. Šis metodas leidžia kūrėjams automatizuoti savo formatavimo taisyklių testavimą ir užtikrinti, kad bet kokie būsimi kodo pakeitimai atitiks tas pačias importavimo struktūros gaires.

„Prettier“ ir „ESLint“ konfigūravimas, norint padalinti ilgus importavimo pareiškimus „TypeScript“.

Šis scenarijus naudoja Prettier ir ESLint, kad sukonfigūruotų kelių eilučių importavimo teiginių formatavimą „TypeScript“ projekte. Pagrindinis dėmesys skiriamas priekinės dalies kūrimui naudojant „Visual Studio Code“.

module.exports = {
  semi: false,
  singleQuote: true,
  trailingComma: 'all',
  printWidth: 80,
  plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting

ESLint naudojimas importuojant formatavimą su ESLint įskiepio importu

Šis galinis scenarijus sukonfigūruoja ESLint su importavimo papildiniu, kad būtų vykdomos kelių eilučių importavimo taisyklės. Tai užtikrina optimizuotą kodo moduliškumą.

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

Importo formatavimo konfigūracijos tikrinimo scenarijaus pavyzdys

Šis scenarijus demonstruoja Prettier ir ESLint konfigūracijų taikymą. Tai yra pagrindinis pavyzdys, kai ilgas importas yra padalintas į kelias eilutes.

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

Įrenginys, tikrinantis importo formatavimo sąranką

Šis galinis scenarijus teikia vienetų testus naudojant „Jest“, kad užtikrintų, jog „Prettier“ ir „ESLint“ konfigūracijos veiktų taip, kaip tikėtasi įvairiose aplinkose.

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

Kodo skaitomumo pagerinimas naudojant gražesnį ir ESLint importo formatavimą

Dirbant su didesnėmis kodų bazėmis, nuoseklių importavimo struktūrų palaikymas tampa itin svarbus siekiant pagerinti kodo skaitomumą ir komandos bendradarbiavimą. Viena dažna problema, su kuria susiduria kūrėjai, yra tai, kiek ilgai importavimo teiginiai gali užgriozdinti failo viršų, ypač kai juose yra daug elementų iš vieno modulio. Čia tokie įrankiai kaip Gražesnis ir ESLint pradėti naudoti, todėl galite automatizuoti importo skaidymą į kelias eilutes. Užtikrinti, kad importavimo teiginiai atitiktų apibrėžtą plotį, paprastai pagrįstą spausdinimo plotis nustatymas, padeda išvengti horizontalaus slinkimo ir leidžia lengvai nuskaityti kodą.

Kitas svarbus aspektas yra paties importo organizacinis modelis. Naudojant importas/užsakymas ESLint pateiktą taisyklę, importus galite grupuoti pagal jų kilmę: integruotas bibliotekas, trečiųjų šalių priklausomybes arba vidinius modulius. Šios grupės gali būti suskirstytos naujomis eilutėmis, todėl kūrėjams lengviau greitai nustatyti priklausomybes. Šis metodas skatina struktūrinį importą, kuris derinamas su rūšiavimu pagal abėcėlę abėcėlės tvarka parinktis, dar labiau padidina kodų bazės aiškumą ir nuoseklumą.

Be to, kūrėjai gali norėti panaudoti tokius įrankius kaip gražesnis-įskiepis-organizuoti-importuoti užtikrinti, kad importas būtų ne tik teisingai padalintas, bet ir logiškai pertvarkytas. Šie įrankiai automatiškai įgyvendina norimą importavimo struktūrą kiekvieną kartą, kai failas išsaugomas redaktoriuje, pvz., Visual Studio Code. Tai užtikrina, kad kūrėjams nereikės rankiniu būdu koreguoti importavimo teiginių ir jie gali sutelkti dėmesį į švaresnio ir labiau prižiūrimo kodo rašymą.

Dažni klausimai apie importo formatavimą naudojant Prettier ir ESLint

  1. Kas yra geriausia ESLint importo organizavimo taisyklė?
  2. The import/order taisyklė iš eslint-plugin-import idealiai tinka organizuoti importą. Tai leidžia nuosekliai grupuoti, rūšiuoti ir struktūrizuoti importą.
  3. Ar galiu padalyti importo teiginius į kelias eilutes naudodamas Prettier vienas?
  4. Prettier gali padalyti ilgus importavimo teiginius į kelias eilutes, jei printWidth taisyklė viršyta. Tačiau derinant jį su ESLint galima daugiau pritaikyti.
  5. Ką daro alphabetize variantas daryti?
  6. The alphabetize parinktis import/order užtikrina, kad importavimo nariai ir teiginiai būtų rūšiuojami abėcėlės tvarka, pagerinant kodo skaitomumą.
  7. Kaip įsitikinti, kad išsaugant importuojami failai formatuojami automatiškai?
  8. Įsitikinkite, kad abu Prettier ir ESLint yra sukonfigūruoti taip, kad išsaugotų jūsų redaktoriuje, paprastai per nustatymus Visual Studio Code arba panašūs IDE.
  9. Kodėl naudoti prettier-plugin-organize-imports?
  10. Šis papildinys užtikrina, kad importas būtų ne tik padalintas į kelias eilutes, bet ir logiškai surūšiuotas bei sugrupuotas, taip dar labiau pagerinant kodo priežiūrą.

Paskutinės mintys apie Prettier ir ESLint konfigūraciją

Prettier ir ESLint nustatymas automatiniam importo teiginių formatavimui yra galingas būdas pagerinti projekto priežiūrą. Tai užtikrina, kad ilgas importas būtų padalintas, rūšiuojamas ir logiškai sutvarkytas.

Derindami šiuos įrankius su papildiniais, užtikrinate „TypeScript“ failų nuoseklumą. Tai ne tik išlaiko kodą švarų, bet ir pagerina bendradarbiavimą jūsų komandoje, nes importo struktūra išlieka vienoda.

Gražesnės ir ESLint konfigūracijos nuorodos ir naudingi šaltiniai
  1. Norėdami gauti oficialius dokumentus apie Prettier konfigūraciją, žr Gražesnė dokumentacija .
  2. Išsamią informaciją apie ESLint ir importo/užsakymo taisyklę rasite adresu eslint-plugin-import GitHub .
  3. Norėdami sužinoti, kaip naudoti gražesnius papildinius, pvz gražesnis-įskiepis-organizuoti-importuoti, apsilankykite gražiau-plugin-organize-imports GitHub .
  4. Norėdami gauti išsamų vadovą, kaip konfigūruoti „Visual Studio“ kodą, kad jis būtų automatiškai formatuojamas išsaugant, patikrinkite „Visual Studio“ kodo nustatymai .