Importálási utasítások egyszerűsítése TypeScriptben
Ha nagy TypeScript- vagy JavaScript-projekteken dolgozik, gyakran találkozhatunk hosszú importálási utasításokkal, különösen akkor, ha több tagot importálunk egyetlen modulból. Bár ezek a vonalak eleinte ártalmatlannak tűnhetnek, könnyen meghaladhatják az Önét Csinosabb konfigurációk printWidth beállítást, ami megnehezíti a kód olvasását és karbantartását.
Annak érdekében, hogy a kód tiszta és olvasható legyen, fontos automatizálni az importálások formázását. Olyan eszközök, mint Csinosabb és ESLint testreszabható, hogy a hosszú import utasításokat automatikusan több sorra bontsa. Ez biztosítja, hogy a kód tiszta és konzisztens maradjon, betartva a beállított formázási szabályokat.
Azonban ezeknek az eszközöknek a konfigurálása az importálási utasítások tetszőleges formázására bonyolult lehet. Míg a Prettier és az ESLint alapértelmezett beállításai számos formázási problémát kezelnek, gyakran elmaradnak a hosszadalmas importálási utasítások több sorban történő lebontásakor.
Ebben az útmutatóban megvizsgáljuk, hogyan konfigurálható a Prettier és az ESLint, hogy megfelelően formázza az importálási utasításokat a TypeScript-projektben. Végigjárjuk a többsoros importáláshoz szükséges beállításokat, miközben megőrizzük a kódbázis konzisztenciáját.
Parancs | Használati példa |
---|---|
prettier.format | Ez a szebb funkció egy kódblokk formázására szolgál a beállított szabályok szerint (pl. printWidth, singleQuote). Feldolgoz egy kódsort, és visszaadja a formázott kimenetet, így ideális a kódstílusok konzisztenciájának biztosításához. |
eslint.RuleTester | Az ESLintre jellemző, ez a parancs lehetővé teszi a fejlesztők számára az egyéni ESLint-szabályok tesztelését. A mintakód betáplálásával a szabálytesztelőbe, ellenőrzi, hogy a szabályok megfelelően érvényesülnek-e, például biztosítják, hogy az importálás több sorra legyen felosztva. |
prettier-plugin-organize-imports | Ez egy szebb bővítmény, amelyet az importálások automatikus szervezésére terveztek. Gondoskodik az importálási utasítások rendezettségéről, és a szebb szabályokkal, például a printWidth-tel kombinálva több sorra bonthatja a hosszú importálást. |
jest.describe | Egy Jest függvény, amely a kapcsolódó teszteket csoportosítja. Ebben az összefüggésben olyan teszteket csoportosít, amelyek ellenőrzik, hogy az ESLint és a Prettier konfigurációk megfelelően kezelik-e a hosszú importálási utasításokat, több sorra bontva azokat. |
import/order | Ez az eslint-plugin-import speciális ESLint-szabálya, amely az importálási utasítások sorrendjére vonatkozó egyezményt kényszeríti ki. Azt is kikényszerítheti, hogy új sorokat adjon hozzá a különböző importálási csoportokhoz (pl. beépítettek, külső csomagok). |
alphabetize | Az import/rendelés ESLint szabályon belül ez a beállítás biztosítja, hogy az importált tagok ábécé szerint legyenek rendezve. Ez javítja a kód olvashatóságát, különösen a többszörös importálást igénylő nagyobb projekteknél. |
jest.it | Ez a Jest függvény egyetlen egységteszt definiálására szolgál. Ebben a példában azt ellenőrzi, hogy a hosszú importálásokat helyesen osztják-e fel több sorra a konfigurált Prettier és ESLint szabályok. |
newlines-between | Az ESLint importálási/rendelési szabály konfigurációs beállítása. Új sorokat kényszerít az importcsoportok között (pl. külső és belső import), így a kód strukturáltabb és könnyebben navigálható. |
Prettier és ESLint konfigurálása többsoros importáláshoz TypeScriptben
A fenti szkriptek fő célja a konfigurálás Csinosabb és ESLint a hosszú importálási utasítások több soron keresztüli automatikus formázásához egy TypeScript-projektben. A Prettier konfiguráció úgy van beállítva, hogy meghatározza a kódolási stílusokat, például az idézőjeleket és a vesszőket, valamint hogy kezelje a kód tördelésének módját a printWidth szabály. Ha a sor meghaladja a beállított szélességet (ebben az esetben 80 vagy 120 karakter), a Prettier automatikusan formázza a kódot, hogy olvashatóbbá tegye. Használatával a szebb-plugin-szervez-importál plugin, biztosítjuk, hogy az import utasítások felosztásra és logikai rendezésre kerüljenek.
Az ESLint konfigurációban a import/rendelés szabály a eslint-plugin-import A beépülő modul elengedhetetlen az importálás megszervezésének szabályozásához. A cél itt egy konzisztens importstruktúra kikényszerítése, ahol a különböző csoportokból (például beépített modulokból, külső csomagokból és belső modulokból) származó importokat újsorokkal választjuk el. Ezenkívül az azonos csoporton belüli importálások ábécé szerint vannak rendezve az olvashatóság javítása érdekében. Ezek a szabályok megakadályozzák, hogy az importálás zsúfolttá váljon, különösen akkor, ha több fájlból nagyszámú importált taggal foglalkozik.
Az ESLint beállítás másik fontos szempontja a újsorok-között opciót, amely biztosítja, hogy az egyes importálási csoportokat egy üres sor választja el. Ez vizuálisan rendezettebbé teszi a kódot, különösen nagyobb kódbázisokban. Kombinálva a betűrendbe szed szabály, a teljes importblokk strukturálttá és könnyebben karbantarthatóvá válik. Amikor a kódot a Visual Studio Code-ban történő mentéskor formázzák, ezek a beállítások automatikusan alkalmazásra kerülnek, biztosítva az egységes importálási formázást a teljes projektben manuális módosítások nélkül.
Végül ennek a konfigurációnak a tesztelése elengedhetetlen a megfelelő működéshez. A Tréfa Az egységtesztek célja annak ellenőrzése, hogy a Prettier és az ESLint konfigurációk a várt módon kezelik-e az import felosztását és formázását. Például egy hosszú importálási utasítás megadásakor a teszt ellenőrzi, hogy megfelelően van-e felosztva több sorra. Ez a megközelítés lehetővé teszi a fejlesztők számára, hogy automatizálják formázási szabályaik tesztelését, biztosítva, hogy a jövőbeni kódmódosítások betartsák ugyanazokat az importszerkezeti irányelveket.
A Prettier és az ESLint beállítása a hosszú importálási utasítások felosztásához TypeScriptben
Ez a szkript a Prettier és az ESLint segítségével konfigurálja a többsoros importálási utasítások formázását egy TypeScript-projektben. A hangsúly a Visual Studio Code előtér-fejlesztésén van.
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
Az ESLint használata az importálás formázásához az ESLint beépülő modul importálásával
Ez a háttérszkript konfigurálja az ESLint-et az importáló beépülő modullal, hogy kényszerítse a többsoros importálási szabályokat. Optimalizált kódmodularitást biztosít.
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
Példa szkript az import formázási konfiguráció tesztelésére
Ez a szkript bemutatja a Prettier és ESLint konfigurációk alkalmazását. Előtér-példaként szolgál, ahol a hosszú importálások több sorra vannak felosztva.
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
Az import formázási beállítást tesztelő egység
Ez a háttérszkript Jest használatával egységteszteket biztosít annak biztosítására, hogy a Prettier és az ESLint konfigurációk a várt módon működjenek a különböző környezetekben.
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
A kód olvashatóságának javítása szebb és ESLint importformázással
Nagyobb kódbázisok kezelésekor a következetes importálási struktúrák fenntartása kulcsfontosságú mind a kód olvashatóságának, mind a csapat együttműködésének javítása érdekében. Az egyik gyakori probléma, amellyel a fejlesztők szembesülnek, az, hogy az importálási utasítások mennyi ideig zavarhatják a fájl tetejét, különösen akkor, ha egyetlen modulból sok elemet tartalmaznak. Ez az, ahol az eszközök, mint Csinosabb és ESLint játékba lép, lehetővé téve az importok több sorra történő felosztásának automatizálását. Annak biztosítása, hogy az importálási utasítások megfeleljenek egy meghatározott szélességnek, általában a printWidth beállítás segít megelőzni a vízszintes görgetést, és könnyen beolvashatóvá teszi a kódot.
Egy másik döntő szempont magának az importnak a szervezeti felépítése. A import/rendelés Az ESLint által biztosított szabály alapján csoportosíthatja az importálást eredetük szerint: beépített könyvtárak, harmadik féltől származó függőségek vagy belső modulok. Ezek a csoportok újsorokkal oszthatók fel, így a fejlesztők könnyebben azonosíthatják a függőségeket. Ez a módszer elősegíti a strukturált importot, amely a betűrendes rendezéssel kombinálva a betűrendbe szed opció tovább növeli a kódbázis egyértelműségét és konzisztenciáját.
Ezen túlmenően a fejlesztők olyan eszközöket szeretnének kihasználni, mint pl szebb-plugin-szervez-importál annak biztosítása érdekében, hogy az import ne csak helyesen legyen felosztva, hanem logikusan is átrendezve. Ezek az eszközök automatikusan érvényesítik a kívánt importálási struktúrát minden alkalommal, amikor a fájlt egy szerkesztőbe, például a Visual Studio Codeba mentik. Ez biztosítja, hogy a fejlesztőknek ne kelljen manuálisan módosítaniuk az importálási utasításokat, és a tisztább és karbantarthatóbb kód írására összpontosíthatnak.
Gyakori kérdések a Prettier és az ESLint importálási formázásával kapcsolatban
- Mi a legjobb ESLint az import megszervezésére vonatkozó szabály?
- A import/order szabály a eslint-plugin-import ideális az import megszervezésére. Lehetővé teszi az importok következetes csoportosítását, rendezését és strukturálását.
- Feloszthatom-e az import utasításokat több sorra a használatával Prettier kizárólag?
- A Prettier több sorra bonthatja a hosszú import utasításokat, ha a printWidth túllépik a szabályt. Az ESLint-tel kombinálva azonban több testreszabhatóság érhető el.
- Mit jelent a alphabetize opció nem?
- A alphabetize opció be import/order biztosítja, hogy az importáló tagok és utasítások ábécé szerint legyenek rendezve, javítva a kód olvashatóságát.
- Hogyan győződhetek meg arról, hogy az importálásaim mentéskor automatikusan formázódnak?
- Győződjön meg arról, hogy mindkettő Prettier és ESLint úgy vannak beállítva, hogy a szerkesztőben történő mentéskor futjanak, jellemzően a beállításokon keresztül Visual Studio Code vagy hasonló IDE-k.
- Miért használja prettier-plugin-organize-imports?
- Ez a beépülő modul gondoskodik arról, hogy az importálás ne csak több sorra legyen felosztva, hanem logikailag rendezve és csoportosítva is, tovább javítva a kód karbantarthatóságát.
Utolsó gondolatok a Prettier és az ESLint konfigurációról
A Prettier és az ESLint beállítása az importálási utasítások automatikus formázásához hatékony módja a projekt karbantarthatóságának javításának. Biztosítja a hosszú importok felosztását, rendezését és logikus szervezését.
Ha ezeket az eszközöket bővítményekkel kombinálja, biztosítja a TypeScript-fájlok konzisztenciáját. Ez nemcsak tisztán tartja a kódot, hanem javítja a csapaton belüli együttműködést is, mivel az importálási struktúra egységes marad.
Referenciák és hasznos források a szebb és az ESLint konfigurációhoz
- A Prettier konfigurációjának hivatalos dokumentációját lásd: Szebb dokumentáció .
- Az ESLintről és az importálási/rendelési szabályról részletes információ a címen található eslint-plugin-import GitHub .
- Ahhoz, hogy felfedezze, hogyan kell használni a Prettier bővítményeket, mint pl szebb-plugin-szervez-importál, látogassa meg Pretier-plugin-organize-imports GitHub .
- Ha átfogó útmutatót szeretne kapni arról, hogyan konfigurálja a Visual Studio Code-ot a mentéskor automatikus formázáshoz, ellenőrizze A Visual Studio kódbeállításai .