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 Kauniimpi kokoonpanot tulostusleveys 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 Kauniimpi ja ESLint 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ää Kauniimpi ja ESLint 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ä tulostusleveys 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 tuonti/tilaus sääntö alkaen eslint-plugin-import 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 rivinvaihto-välillä -vaihtoehto, joka varmistaa, että jokainen tuontiryhmä erotetaan tyhjällä rivillä. Tämä tekee koodista visuaalisesti järjestetymmän, etenkin suuremmissa koodikantoissa. Yhdistettynä aakkostaa 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 Jest 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 Kauniimpi ja ESLint tulevat peliin, jolloin voit automatisoida tuonnin jakamisen useille riveille. Sen varmistaminen, että tuontilausekkeet noudattavat määritettyä leveyttä, joka perustuu tyypillisesti tulostusleveys 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ä tuonti/tilaus 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 aakkostaa -vaihtoehto parantaa entisestään koodikannan selkeyttä ja johdonmukaisuutta.
Lisäksi kehittäjät saattavat haluta hyödyntää työkaluja, kuten kauniimpi-plugin-organise-imports 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.
Yleisiä kysymyksiä tuonnin muotoilusta Prettierillä ja ESLintillä
- Mikä on paras ESLint tuonnin järjestämistä koskeva sääntö?
- The import/order sääntö alkaen eslint-plugin-import 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ä Prettier yksin?
- Prettier voi jakaa pitkät tuontilausekkeet useille riveille, jos printWidth sääntö ylittyy. Sen yhdistäminen ESLintiin tarjoaa kuitenkin enemmän räätälöintiä.
- Mitä tekee alphabetize vaihtoehto tehdä?
- The alphabetize vaihtoehto sisään import/order varmistaa, että tuontijäsenet ja lausekkeet lajitellaan aakkosjärjestyksessä, mikä parantaa koodin luettavuutta.
- Kuinka varmistan, että tuontini muotoillaan automaattisesti tallennuksen yhteydessä?
- Varmista, että molemmat Prettier ja ESLint on määritetty toimimaan tallennuksen yhteydessä editorissasi, yleensä asetusten kautta Visual Studio Code tai vastaavia IDE-laitteita.
- Miksi käyttää prettier-plugin-organize-imports?
- 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.
Viimeisiä ajatuksia Prettier- ja ESLint-kokoonpanoista
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ä.
Viitteitä ja hyödyllisiä lähteitä kauniimpaan ja ESLint-kokoonpanoon
- 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 kauniimpi-plugin-organise-imports, vierailla prettier-plugin-organize-imports GitHub .
- Katso kattava opas Visual Studio Coden määrittämisestä formatoimaan automaattisesti tallennuksen yhteydessä Visual Studion koodiasetukset .