Importēšanas paziņojumu racionalizēšana programmā TypeScript
Strādājot ar lieliem TypeScript vai JavaScript projektiem, bieži rodas gari importēšanas paziņojumi, it īpaši, importējot vairākus dalībniekus no viena moduļa. Lai gan sākotnēji šīs līnijas var šķist nekaitīgas, tās var viegli pārsniegt jūsu Smukāk konfigurācijas drukas platums iestatījumu, padarot kodu grūtāk lasāmu un apkopi.
Lai jūsu kods būtu kārtīgs un lasāms, ir svarīgi automatizēt šo importēto failu formatēšanu. Tādi rīki kā Smukāk un ESLint var pielāgot, lai automātiski sadalītu garus importēšanas paziņojumus vairākās rindās. Tas nodrošina, ka kods paliek tīrs un konsekvents, ievērojot jūsu iestatītos formatēšanas noteikumus.
Tomēr šo rīku konfigurēšana, lai automātiski formatētu importēšanas paziņojumus pēc vēlēšanās, var būt sarežģīta. Lai gan Prettier un ESLint noklusējuma iestatījumi risina daudzas formatēšanas problēmas, tie bieži vien neatbilst garu importēšanas paziņojumu sadalīšanai vairākās rindās.
Šajā rokasgrāmatā mēs izpētīsim, kā konfigurēt Prettier un ESLint, lai pareizi formatētu importēšanas paziņojumus jūsu TypeScript projektā. Mēs apskatīsim iestatījumus, kas nepieciešami vairāku rindu importēšanai, vienlaikus saglabājot konsekvenci jūsu kodu bāzē.
Pavēli | Lietošanas piemērs |
---|---|
prettier.format | Šī Prettier funkcija tiek izmantota, lai formatētu koda bloku saskaņā ar konfigurētajiem noteikumiem (piemēram, printWidth, singleQuote). Tas apstrādā koda virkni un atgriež formatētu izvadi, padarot to ideāli piemērotu koda stila konsekvences nodrošināšanai. |
eslint.RuleTester | Šī komanda, kas raksturīga ESLint, ļauj izstrādātājiem pārbaudīt pielāgotus ESLint noteikumus. Ievadot koda paraugu kārtulu pārbaudītājam, tas pārbauda, vai noteikumi ir pareizi izpildīti, piemēram, nodrošina, ka importēšana tiek sadalīta vairākās rindās. |
prettier-plugin-organize-imports | Šis ir skaistāks spraudnis, kas paredzēts importēšanas automātiskai organizēšanai. Tas nodrošina, ka importēšanas paziņojumi tiek kārtoti, un, apvienojot tos ar skaistākiem noteikumiem, piemēram, printWidth, tas var sadalīt garus importus vairākās rindās. |
jest.describe | Jest funkcija, kas grupē saistītos testus. Šajā kontekstā tas grupē testus, pārbaudot, vai ESLint un Prettier konfigurācijas pareizi apstrādā garus importēšanas paziņojumus, sadalot tos vairākās rindās. |
import/order | Šis ir īpašs ESLint noteikums no eslint-plugin-import, kas ievieš vienošanos par importēšanas paziņojumu secību. Tas var arī nodrošināt jaunu rindiņu pievienošanu dažādām importēšanas grupām (piemēram, iebūvētajām, ārējām pakotnēm). |
alphabetize | Importēšanas/pasūtīšanas ESLint kārtulas ietvaros šī opcija nodrošina, ka importētie dalībnieki tiek sakārtoti alfabētiskā secībā. Tas uzlabo koda lasāmību, īpaši lielākos projektos ar vairākiem importiem. |
jest.it | Šī Jest funkcija tiek izmantota, lai definētu vienas vienības testu. Šajā piemērā tas pārbauda, vai garie importi ir pareizi sadalīti vairākās rindās, izmantojot konfigurētos Prettier un ESLint noteikumus. |
newlines-between | Importēšanas/pasūtīšanas ESLint kārtulas konfigurācijas opcija. Tas liek pievienot jaunas rindiņas starp importēšanas grupām (piemēram, ārējais un iekšējais imports), padarot kodu strukturētāku un vieglāk orientējamu. |
Prettier un ESLint konfigurēšana vairāku rindu importēšanai programmā TypeScript
Iepriekš minēto skriptu galvenais mērķis ir konfigurēt Smukāk un ESLint lai automātiski formatētu garus importēšanas paziņojumus vairākās TypeScript projekta rindās. Prettier konfigurācija ir iestatīta, lai definētu kodēšanas stilus, piemēram, atsevišķas pēdiņas un beigu komatus, un pārvaldītu, kā kods ir jāiekļauj, izmantojot drukas platums noteikums. Kad rinda pārsniedz iestatīto platumu (šajā gadījumā 80 vai 120 rakstzīmes), Prettier automātiski formatēs kodu, lai padarītu to lasāmāku. Izmantojot glītāks-plugin-organize-imports spraudnis, mēs nodrošinām, ka importēšanas priekšraksti tiek sadalīti un sakārtoti loģiski.
ESLint konfigurācijā imports/pasūtīšana noteikums no eslint-plugin-import spraudnis ir būtisks, lai kontrolētu importēšanas organizēšanu. Mērķis ir ieviest konsekventu importēšanas struktūru, kurā importēšana no dažādām grupām (piemēram, iebūvētie moduļi, ārējās pakotnes un iekšējie moduļi) tiek atdalīta ar jaunām rindiņām. Turklāt, lai uzlabotu lasāmību, tās pašas grupas importēšana ir sakārtota alfabēta secībā. Šie noteikumi neļauj importam kļūt pārblīvētam, it īpaši, ja tiek apstrādāts liels skaits importētu dalībnieku no vairākiem failiem.
Vēl viens nozīmīgs ESLint iestatīšanas aspekts ir jaunas rindiņas-starp opciju, kas nodrošina, ka katra importēšanas grupa ir atdalīta ar tukšu rindiņu. Tas padara kodu vizuāli sakārtotāku, īpaši lielākās kodu bāzēs. Apvienojumā ar sakārtot alfabētu noteikums, viss importēšanas bloks kļūst strukturēts un vieglāk uzturējams. Kad kods tiek formatēts, saglabājot programmā Visual Studio Code, šie iestatījumi tiek lietoti automātiski, nodrošinot konsekventu importēšanas formatējumu visā projektā bez manuālām korekcijām.
Visbeidzot, šīs konfigurācijas pārbaude ir ļoti svarīga, lai nodrošinātu tās pareizu darbību. The Joks vienību testi ir paredzēti, lai pārbaudītu, vai Prettier un ESLint konfigurācijas apstrādā importa sadalīšanu un formatēšanu, kā paredzēts. Piemēram, ja tiek nodrošināts garš importēšanas paziņojums, tests pārbauda, vai tas ir pareizi sadalīts vairākās rindās. Šī pieeja ļauj izstrādātājiem automatizēt savu formatēšanas kārtulu testēšanu, nodrošinot, ka turpmākās koda izmaiņas atbilst tām pašām importēšanas struktūras vadlīnijām.
Prettier un ESLint konfigurēšana garo importēšanas paziņojumu sadalīšanai programmā TypeScript
Šis skripts izmanto Prettier un ESLint, lai konfigurētu formatējumu vairāku rindu importēšanas priekšrakstiem TypeScript projektā. Galvenā uzmanība tiek pievērsta priekšgala izstrādei, izmantojot Visual Studio kodu.
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
ESLint izmantošana importa formatēšanai ar ESLint spraudņa importēšanu
Šis aizmugures skripts konfigurē ESLint ar importēšanas spraudni, lai ieviestu vairāku rindu importēšanas noteikumus. Tas nodrošina optimizētu koda modularitāti.
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
Skripta piemērs importa formatēšanas konfigurācijas pārbaudei
Šis skripts parāda Prettier un ESLint konfigurāciju pielietojumu. Tas kalpo kā priekšgala piemērs, kur garie importi tiek sadalīti vairākās rindās.
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
Importēšanas formatēšanas iestatīšanas vienība
Šis aizmugures skripts nodrošina vienību testus, izmantojot Jest, lai nodrošinātu Prettier un ESLint konfigurāciju darbību, kā paredzēts dažādās vidēs.
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
Uzlabojiet koda lasāmību, izmantojot Prettier un ESLint importa formatējumu
Strādājot ar lielākām kodu bāzēm, konsekventu importēšanas struktūru uzturēšana kļūst ļoti svarīga, lai uzlabotu gan koda lasāmību, gan komandas sadarbību. Viena izplatīta problēma, ar ko saskaras izstrādātāji, ir tas, cik ilgi importēšanas paziņojumi var pārblīvēt faila augšdaļu, it īpaši, ja tajos ir daudz elementu no viena moduļa. Šeit ir tādi rīki kā Smukāk un ESLint sāk darboties, ļaujot automatizēt importa sadalīšanu vairākās rindās. Nodrošinot, ka importēšanas paziņojumi atbilst noteiktam platumam, parasti pamatojoties uz drukas platums iestatījums, palīdz novērst horizontālo ritināšanu un ļauj viegli skenēt kodu.
Vēl viens būtisks aspekts ir paša importa organizatoriskais modelis. Izmantojot imports/pasūtīšana ESLint nodrošināto noteikumu, varat grupēt importēšanu, pamatojoties uz to izcelsmi: iebūvētās bibliotēkas, trešo pušu atkarības vai iekšējie moduļi. Šīs grupas var sadalīt ar jaunām rindiņām, tādējādi izstrādātājiem ir vieglāk ātri noteikt atkarības. Šī metode veicina strukturētu importu, kas, ja to apvieno ar alfabētisko šķirošanu, izmantojot sakārtot alfabētu opciju, vēl vairāk uzlabo skaidrību un konsekvenci visā kodu bāzē.
Turklāt izstrādātāji var vēlēties izmantot tādus rīkus kā glītāks-plugin-organize-imports nodrošināt, ka imports tiek ne tikai pareizi sadalīts, bet arī loģiski pārkārtots. Šie rīki automātiski ievieš vēlamo importēšanas struktūru ikreiz, kad fails tiek saglabāts tādā redaktorā kā Visual Studio Code. Tas nodrošina, ka izstrādātājiem nav manuāli jāpielāgo importēšanas paziņojumi, un viņi var koncentrēties uz tīrāka un labāk uzturējamu koda rakstīšanu.
Bieži uzdotie jautājumi par importa formatēšanu, izmantojot Prettier un ESLint
- Kas ir labākais ESLint importa organizēšanas noteikums?
- The import/order noteikums no eslint-plugin-import ir ideāli piemērots importa organizēšanai. Tas ļauj konsekventi grupēt, kārtot un strukturēt importu.
- Vai es varu sadalīt importēšanas paziņojumus vairākās rindās, izmantojot Prettier vienatnē?
- Prettier var sadalīt garus importēšanas paziņojumus vairākās rindās, ja printWidth noteikums ir pārkāpts. Tomēr, apvienojot to ar ESLint, tiek nodrošināta lielāka pielāgošana.
- Ko dara alphabetize variants darīt?
- The alphabetize opcija iekšā import/order nodrošina, ka importēšanas dalībnieki un paziņojumi tiek sakārtoti alfabētiskā secībā, uzlabojot koda lasāmību.
- Kā pārliecināties, ka saglabāšanas laikā mani importētie faili tiek formatēti automātiski?
- Pārliecinieties, ka abi Prettier un ESLint ir konfigurēti, lai tie darbotos, saglabājot jūsu redaktorā, parasti izmantojot iestatījumus Visual Studio Code vai līdzīgas IDE.
- Kāpēc izmantot prettier-plugin-organize-imports?
- Šis spraudnis nodrošina, ka imports tiek ne tikai sadalīts vairākās rindās, bet arī sakārtots un grupēts loģiski, vēl vairāk uzlabojot koda apkopi.
Pēdējās domas par skaistāku un ESLint konfigurāciju
Prettier un ESLint iestatīšana automātiskai importēšanas paziņojumu formatēšanai ir spēcīgs veids, kā uzlabot jūsu projekta apkopi. Tas nodrošina, ka garie importi tiek sadalīti, sakārtoti un sakārtoti loģiski.
Apvienojot šos rīkus ar spraudņiem, jūs nodrošināsiet savu TypeScript failu konsekvenci. Tas ne tikai saglabā tīru kodu, bet arī uzlabo sadarbību jūsu komandā, jo importēšanas struktūra paliek vienota.
Atsauces un noderīgi avoti skaistākai un ESLint konfigurācijai
- Lai iegūtu oficiālu Prettier konfigurācijas dokumentāciju, skatiet Skaistāka dokumentācija .
- Detalizētu informāciju par ESLint un importa/pasūtīšanas noteikumu var atrast vietnē eslint-plugin-import GitHub .
- Lai izpētītu, kā izmantot Prettier spraudņus, piemēram glītāks-plugin-organize-imports, apmeklējiet Pretier-plugin-organize-imports GitHub .
- Lai iegūtu visaptverošu rokasgrāmatu par Visual Studio koda konfigurēšanu automātiskai formatēšanai saglabāšanas laikā, pārbaudiet Visual Studio koda iestatījumi .