Tuontilausekkeiden virtaviivaistaminen TypeScriptissä
Kun työskentelet suurissa TypeScript- tai JavaScript-projekteissa, on tavallista kohdata pitkiä tuontilausekkeita, etenkin kun tuodaan useita jäseniä yhdestä moduulista. Vaikka nämä linjat voivat aluksi tuntua vaarattomilta, ne voivat helposti ylittää sinun kokoonpanot asetusta, mikä tekee koodista vaikeamman lukea ja ylläpitää.
Jotta koodisi pysyy siistinä ja luettavana, on tärkeää automatisoida näiden tuontien muotoilu. Työkalut kuten ja voidaan mukauttaa jakamaan pitkät tuontilausekkeet automaattisesti useille riveille. Tämä varmistaa, että koodisi pysyy puhtaana ja johdonmukaisena määrittämiesi muotoilusääntöjen mukaisesti.
Näiden työkalujen määrittäminen muotoilemaan tuontilausekkeet automaattisesti halutulla tavalla voi kuitenkin olla hankalaa. Vaikka Prettier- ja ESLint-oletusasetukset käsittelevät monia muotoiluongelmia, ne eivät useinkaan onnistu, kun on kyse pitkien tuontilausekkeiden jakamisesta useille riveille.
Tässä oppaassa tutkimme, kuinka Prettier ja ESLint määritetään muotoilemaan oikein TypeScript-projektisi tuontilausekkeet. Käymme läpi asetukset, joita tarvitaan monirivisten tuontien toteuttamiseen ja samalla varmistamme yhdenmukaisuuden koodikannassasi.
Komento | Esimerkki käytöstä |
---|---|
prettier.format | Tätä Prettier-toimintoa käytetään koodilohkon muotoiluun määritettyjen sääntöjen mukaisesti (esim. printWidth, singleQuote). Se käsittelee koodijonon ja palauttaa muotoillun tulosteen, mikä tekee siitä ihanteellisen koodityylien johdonmukaisuuden varmistamiseen. |
eslint.RuleTester | Tämä ESLint-komento antaa kehittäjille mahdollisuuden testata mukautettuja ESLint-sääntöjä. Syöttämällä näytekoodin sääntötestaajaan se tarkistaa, pannaanko säännöt täytäntöön oikein, esimerkiksi varmistaa, että tuonti on jaettu useille riveille. |
prettier-plugin-organize-imports | Tämä on kauniimpi laajennus, joka on suunniteltu järjestämään tuonti automaattisesti. Se varmistaa, että tuontilausekkeet lajitellaan, ja yhdistettynä kauniimpiin sääntöihin, kuten printWidth, se voi jakaa pitkän tuonnin useille riveille. |
jest.describe | Jest-toiminto, joka ryhmittelee toisiinsa liittyvät testit. Tässä yhteydessä se ryhmittelee testit, joilla varmistetaan, käsittelevätkö ESLint- ja Prettier-kokoonpanot oikein pitkiä tuontilausekkeita jakamalla ne useille riveille. |
import/order | Tämä on eslint-plugin-importin erityinen ESLint-sääntö, joka pakottaa tuontilausekkeiden järjestyksen. Se voi myös pakottaa uusien rivien lisäämisen eri tuontiryhmien (esim. sisäänrakennettujen, ulkoisten pakettien) väliin. |
alphabetize | Tuo/tilaus ESLint-säännössä tämä vaihtoehto varmistaa, että tuodut jäsenet lajitellaan aakkosjärjestyksessä. Tämä parantaa koodin luettavuutta erityisesti suuremmissa projekteissa, joissa on useita tuontia. |
jest.it | Tätä Jest-toimintoa käytetään yksittäisen yksikön testin määrittämiseen. Tässä esimerkissä se tarkistaa, jaetaanko pitkät tuonnit oikein useiksi riveiksi määritettyjen Prettier- ja ESLint-sääntöjen avulla. |
newlines-between | Määritysvaihtoehto tuonti/tilaa ESLint-säännölle. Se pakottaa rivinvaihdot tuontiryhmien (esim. ulkoisen ja sisäisen tuonnin) välillä, mikä tekee koodista jäsennellymmän ja helpommin navigoitavan. |
Prettier- ja ESLint-määritykset monirivistä tuontia varten TypeScriptissä
Yllä olevien komentosarjojen päätavoite on määrittää ja muotoilla automaattisesti pitkät tuontilausekkeet useille riveille TypeScript-projektissa. Prettier-kokoonpano on määritetty määrittelemään koodaustyylejä, kuten yksittäisiä lainausmerkkejä ja pilkkuja, sekä hallitsemaan koodin käärimistä käyttämällä sääntö. Kun rivi ylittää asetetun leveyden (tässä tapauksessa 80 tai 120 merkkiä), Prettier muotoilee koodin automaattisesti tehdäkseen siitä luettavamman. Käyttämällä kauniimpi-plugin-organise-imports plugin, varmistamme, että tuontilausekkeet jaetaan ja lajitellaan loogisesti.
ESLint-kokoonpanossa sääntö alkaen laajennus on välttämätön tuonnin järjestämisen hallinnassa. Tavoitteena on saada aikaan johdonmukainen tuontirakenne, jossa tuonnit eri ryhmistä (kuten sisäänrakennetut moduulit, ulkoiset paketit ja sisäiset moduulit) erotetaan rivinvaihdolla. Lisäksi saman ryhmän tuonti on aakkosjärjestetty luettavuuden parantamiseksi. Nämä säännöt estävät tuonnin sotkeutumisen, varsinkin kun käsitellään suuria määriä tuotuja jäseniä useista tiedostoista.
Toinen tärkeä osa ESLint-asennusta on -vaihtoehto, joka varmistaa, että jokainen tuontiryhmä erotetaan tyhjällä rivillä. Tämä tekee koodista visuaalisesti järjestetymmän, etenkin suuremmissa koodikantoissa. Yhdistettynä sääntö, koko tuontilohkosta tulee jäsennelty ja helpompi ylläpitää. Kun koodi muotoillaan tallennuksen yhteydessä Visual Studio Codessa, nämä asetukset otetaan käyttöön automaattisesti, mikä varmistaa johdonmukaisen tuontimuotoilun koko projektille ilman manuaalisia säätöjä.
Lopuksi tämän kokoonpanon testaaminen on ratkaisevan tärkeää sen oikean toiminnan varmistamiseksi. The Yksikkötestit on suunniteltu tarkistamaan, käsittelevätkö Prettier- ja ESLint-kokoonpanot tuonnin jakamista ja muotoilua odotetulla tavalla. Kun esimerkiksi tarjotaan pitkä tuontilauseke, testi varmistaa, onko se jaettu oikein useille riveille. Tämän lähestymistavan avulla kehittäjät voivat automatisoida muotoilusääntöjensä testauksen ja varmistaa, että kaikki tulevat koodimuutokset noudattavat samoja tuontirakenneohjeita.
Prettier- ja ESLint-määritykset pitkien tuontilausekkeiden jakamiseen TypeScriptissä
Tämä komentosarja käyttää Prettieria ja ESLintiä monirivisten tuontilausekkeiden muotoilun määrittämiseen TypeScript-projektissa. Painopiste on etupään kehityksessä Visual Studio Coden avulla.
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
ESLintin käyttäminen tuontimuotoilussa ESLint Plugin Importin kanssa
Tämä taustaskripti määrittää ESLintin tuontilaajennuksen kanssa monirivisten tuontisääntöjen pakottamiseksi. Se varmistaa optimoidun koodin modulaarisuuden.
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
Esimerkkikomentosarja tuontimuotoilumääritysten testaamiseen
Tämä komentosarja esittelee Prettier- ja ESLint-kokoonpanojen soveltamisen. Se toimii käyttöliittymäesimerkkinä, jossa pitkät tuonnit jaetaan useille riveille.
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
Yksikkö testaa tuontimuotoiluasetuksia
Tämä taustaskripti tarjoaa yksikkötestejä Jestillä varmistaakseen, että Prettier- ja ESLint-kokoonpanot toimivat odotetulla tavalla eri ympäristöissä.
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
Paranna koodin luettavuutta kauniilla ja ESLint-tuontimuotoilulla
Kun käsitellään suurempia koodikantoja, johdonmukaisten tuontirakenteiden ylläpitäminen on ratkaisevan tärkeää sekä koodin luettavuuden että tiimiyhteistyön parantamiseksi. Yksi yleinen ongelma, jota kehittäjät kohtaavat, on se, kuinka pitkät tuontilausekkeet voivat sotkea tiedoston yläosan, varsinkin kun ne sisältävät useita elementtejä yhdestä moduulista. Tästä työkalut pitävät ja tulevat peliin, jolloin voit automatisoida tuonnin jakamisen useille riveille. Sen varmistaminen, että tuontilausekkeet noudattavat määritettyä leveyttä, joka perustuu tyypillisesti asetus auttaa estämään vaakasuuntaisen vierityksen ja pitää koodin helposti luettavissa.
Toinen tärkeä näkökohta on itse tuonnin organisatorinen rakenne. Käyttämällä ESLint-sääntö, voit ryhmitellä tuonnit niiden alkuperän perusteella: sisäänrakennetut kirjastot, kolmannen osapuolen riippuvuudet tai sisäiset moduulit. Nämä ryhmät voidaan jakaa rivienvaihdolla, jolloin kehittäjien on helpompi tunnistaa riippuvuudet nopeasti. Tämä menetelmä edistää strukturoitua tuontia, joka yhdistettynä aakkosjärjestykseen -vaihtoehto parantaa entisestään koodikannan selkeyttä ja johdonmukaisuutta.
Lisäksi kehittäjät saattavat haluta hyödyntää työkaluja, kuten varmistaa, että tuontia ei vain jaeta oikein vaan myös järjestetään loogisesti uudelleen. Nämä työkalut pakottavat automaattisesti halutun tuontirakenteen joka kerta, kun tiedosto tallennetaan editoriin, kuten Visual Studio Code. Tämä varmistaa, että kehittäjien ei tarvitse säätää tuontilausekkeita manuaalisesti ja että he voivat keskittyä puhtaamman ja helpommin ylläpidettävän koodin kirjoittamiseen.
- Mikä on paras tuonnin järjestämistä koskeva sääntö?
- The sääntö alkaen sopii erinomaisesti tuonnin järjestämiseen. Sen avulla voit ryhmitellä, lajitella ja jäsentää tuontia johdonmukaisesti.
- Voinko jakaa tuontilausekkeet useille riveille käyttämällä yksin?
- Prettier voi jakaa pitkät tuontilausekkeet useille riveille, jos sääntö ylittyy. Sen yhdistäminen ESLintiin tarjoaa kuitenkin enemmän räätälöintiä.
- Mitä tekee vaihtoehto tehdä?
- The vaihtoehto sisään varmistaa, että tuontijäsenet ja lausekkeet lajitellaan aakkosjärjestyksessä, mikä parantaa koodin luettavuutta.
- Kuinka varmistan, että tuontini muotoillaan automaattisesti tallennuksen yhteydessä?
- Varmista, että molemmat ja on määritetty toimimaan tallennuksen yhteydessä editorissasi, yleensä asetusten kautta tai vastaavia IDE-laitteita.
- Miksi käyttää ?
- Tämä laajennus varmistaa, että tuontia ei vain jaeta useille riveille, vaan ne myös lajitellaan ja ryhmitellään loogisesti, mikä parantaa koodin ylläpidettävyyttä entisestään.
Prettierin ja ESLintin määrittäminen tuontilausekkeiden automaattista muotoilua varten on tehokas tapa parantaa projektisi ylläpidettävyyttä. Se varmistaa, että pitkät tuonnit jaetaan, lajitellaan ja järjestetään loogisesti.
Yhdistämällä nämä työkalut laajennuksiin varmistat TypeScript-tiedostojesi johdonmukaisuuden. Tämä ei vain pidä koodia puhtaana, vaan myös parantaa yhteistyötä tiimisi sisällä, koska tuontirakenne pysyy yhtenäisenä.
- Katso viralliset asiakirjat Prettierin kokoonpanosta osoitteesta Parempi dokumentaatio .
- Yksityiskohtaiset tiedot ESLintistä ja tuonti/tilaussäännöstä löytyvät osoitteesta eslint-plugin-import GitHub .
- Tutkiaksesi kuinka käyttää Prettier-laajennuksia, kuten , vierailla prettier-plugin-organize-imports GitHub .
- Katso kattava opas Visual Studio Coden määrittämisestä formatoimaan automaattisesti tallennuksen yhteydessä Visual Studion koodiasetukset .