Menyederhanakan Pernyataan Impor di TypeScript
Saat mengerjakan proyek TypeScript atau JavaScript yang besar, sering kali kita menemukan pernyataan import yang panjang, terutama saat mengimpor beberapa anggota dari satu modul. Meskipun garis-garis ini pada awalnya tampak tidak berbahaya, garis-garis ini dapat dengan mudah melampaui garis Anda Lebih cantik konfigurasi lebar cetak pengaturan, membuat kode lebih sulit dibaca dan dipelihara.
Agar kode Anda tetap rapi dan mudah dibaca, penting untuk mengotomatiskan pemformatan impor ini. Alat seperti Lebih cantik Dan ESLint dapat dikustomisasi untuk secara otomatis membagi pernyataan impor panjang menjadi beberapa baris. Hal ini memastikan kode Anda tetap bersih dan konsisten, mematuhi aturan pemformatan yang telah Anda siapkan.
Namun, mengonfigurasi alat ini untuk memformat pernyataan impor secara otomatis sesuai keinginan bisa jadi rumit. Meskipun pengaturan default Prettier dan ESLint menangani banyak masalah pemformatan, pengaturan tersebut sering kali gagal dalam menguraikan pernyataan impor yang panjang di beberapa baris.
Dalam panduan ini, kita akan mempelajari cara mengonfigurasi Prettier dan ESLint untuk memformat pernyataan impor dengan benar di proyek TypeScript Anda. Kami akan membahas pengaturan yang diperlukan untuk mencapai impor multi-baris sambil menjaga konsistensi di seluruh basis kode Anda.
Memerintah | Contoh penggunaan |
---|---|
prettier.format | Fungsi Prettier ini digunakan untuk memformat blok kode sesuai dengan aturan yang dikonfigurasi (misalnya printWidth, singleQuote). Ini memproses serangkaian kode dan mengembalikan keluaran yang diformat, menjadikannya ideal untuk memastikan konsistensi gaya kode. |
eslint.RuleTester | Khusus untuk ESLint, perintah ini memungkinkan pengembang menguji aturan ESLint khusus. Dengan memasukkan kode sampel ke penguji aturan, ini akan memvalidasi apakah aturan diterapkan dengan benar atau tidak, seperti memastikan impor dibagi menjadi beberapa baris. |
prettier-plugin-organize-imports | Ini adalah plugin Prettier yang dirancang untuk mengatur impor secara otomatis. Ini memastikan bahwa pernyataan import diurutkan dan, ketika dikombinasikan dengan aturan yang lebih cantik seperti printWidth, ini dapat membagi impor panjang menjadi beberapa baris. |
jest.describe | Fungsi Jest yang mengelompokkan tes terkait. Dalam konteks ini, ini mengelompokkan pengujian yang memverifikasi apakah konfigurasi ESLint dan Prettier menangani pernyataan import panjang dengan benar dengan memecahnya menjadi beberapa baris. |
import/order | Ini adalah aturan ESLint khusus dari eslint-plugin-import yang menerapkan konvensi tentang urutan pernyataan import. Hal ini juga dapat memaksa baris baru ditambahkan di antara grup impor yang berbeda (misalnya, paket bawaan, paket eksternal). |
alphabetize | Dalam aturan ESLint impor/pesanan, opsi ini memastikan bahwa anggota yang diimpor diurutkan berdasarkan abjad. Hal ini meningkatkan keterbacaan kode, terutama pada proyek yang lebih besar dengan banyak impor. |
jest.it | Fungsi Jest ini digunakan untuk mendefinisikan pengujian unit tunggal. Dalam contoh ini, ia memeriksa apakah impor panjang dipecah dengan benar menjadi beberapa baris berdasarkan aturan Prettier dan ESLint yang dikonfigurasi. |
newlines-between | Opsi konfigurasi untuk aturan impor/pesanan ESLint. Ini memaksa baris baru antara grup impor (misalnya impor eksternal dan internal), sehingga membuat kode lebih terstruktur dan lebih mudah dinavigasi. |
Mengonfigurasi Prettier dan ESLint untuk Impor Multi-baris di TypeScript
Tujuan utama dari skrip di atas adalah untuk mengkonfigurasi Lebih cantik Dan ESLint untuk secara otomatis memformat pernyataan impor panjang di beberapa baris dalam proyek TypeScript. Konfigurasi Prettier diatur untuk menentukan gaya pengkodean, seperti tanda kutip tunggal dan koma di akhir, dan untuk mengatur bagaimana kode harus dibungkus menggunakan lebar cetak aturan. Ketika garis melebihi lebar yang ditetapkan (dalam hal ini, 80 atau 120 karakter), Prettier akan secara otomatis memformat kode agar lebih mudah dibaca. Dengan menggunakan plugin-mengatur-impor yang lebih cantik plugin, kami memastikan bahwa pernyataan import dipisahkan dan diurutkan secara logis.
Dalam konfigurasi ESLint, file impor/pesanan aturan dari eslint-plugin-impor plugin sangat penting untuk mengontrol cara impor diatur. Tujuannya di sini adalah untuk menerapkan struktur impor yang konsisten, yaitu impor dari grup berbeda (seperti modul bawaan, paket eksternal, dan modul internal) dipisahkan oleh baris baru. Selain itu, impor dalam grup yang sama disusun berdasarkan abjad untuk meningkatkan keterbacaan. Aturan-aturan ini mencegah impor menjadi berantakan, terutama ketika berhadapan dengan sejumlah besar anggota yang diimpor dari beberapa file.
Aspek penting lainnya dari pengaturan ESLint adalah baris baru-antara opsi, yang memastikan bahwa setiap grup impor dipisahkan oleh baris kosong. Hal ini membuat kode lebih terorganisir secara visual, terutama pada basis kode yang lebih besar. Dikombinasikan dengan mengabjadkan aturannya, seluruh blok impor menjadi terstruktur dan lebih mudah dipelihara. Saat kode diformat saat disimpan di Visual Studio Code, pengaturan ini diterapkan secara otomatis, memastikan pemformatan impor yang konsisten di seluruh proyek tanpa penyesuaian manual.
Terakhir, menguji konfigurasi ini sangat penting untuk memastikan konfigurasi berfungsi dengan benar. Itu Bersenda gurau pengujian unit dirancang untuk memeriksa apakah konfigurasi Prettier dan ESLint menangani pemisahan dan pemformatan impor seperti yang diharapkan. Misalnya, ketika pernyataan import yang panjang diberikan, pengujian akan memverifikasi apakah pernyataan tersebut dipecah menjadi beberapa baris dengan benar. Pendekatan ini memungkinkan pengembang untuk mengotomatiskan pengujian aturan pemformatan mereka, memastikan bahwa setiap perubahan kode di masa depan akan mematuhi pedoman struktur impor yang sama.
Mengonfigurasi Prettier dan ESLint untuk Memisahkan Pernyataan Impor Panjang di TypeScript
Skrip ini menggunakan Prettier dan ESLint untuk mengonfigurasi pemformatan untuk pernyataan impor multi-baris dalam proyek TypeScript. Fokusnya adalah pada pengembangan front-end dengan Visual Studio Code.
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
Menggunakan ESLint untuk Pemformatan Impor dengan Impor Plugin ESLint
Skrip back-end ini mengonfigurasi ESLint dengan plugin impor untuk menerapkan aturan impor multi-baris. Ini memastikan modularitas kode yang dioptimalkan.
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
Contoh Script untuk Pengujian Konfigurasi Format Impor
Skrip ini mendemonstrasikan penerapan konfigurasi Prettier dan ESLint. Ini berfungsi sebagai contoh front-end di mana impor panjang dipecah menjadi beberapa baris.
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
Unit Menguji Pengaturan Pemformatan Impor
Skrip back-end ini menyediakan pengujian unit menggunakan Jest untuk memastikan konfigurasi Prettier dan ESLint berfungsi seperti yang diharapkan di berbagai lingkungan.
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
Meningkatkan Keterbacaan Kode dengan Pemformatan Impor yang Lebih Cantik dan ESLint
Saat menangani basis kode yang lebih besar, mempertahankan struktur impor yang konsisten menjadi penting untuk meningkatkan keterbacaan kode dan kolaborasi tim. Salah satu masalah umum yang dihadapi pengembang adalah berapa lama pernyataan import dapat mengacaukan bagian atas file, terutama ketika pernyataan tersebut berisi banyak elemen dari satu modul. Di sinilah alat seperti itu Lebih cantik Dan ESLint ikut berperan, memungkinkan Anda mengotomatiskan pemisahan impor pada beberapa jalur. Memastikan bahwa pernyataan import mematuhi lebar yang ditentukan, biasanya berdasarkan pada lebar cetak pengaturan, membantu mencegah pengguliran horizontal dan membuat kode mudah dipindai.
Aspek penting lainnya adalah pola organisasi impor itu sendiri. Menggunakan impor/pesanan aturan yang disediakan oleh ESLint, Anda dapat mengelompokkan impor berdasarkan asalnya: pustaka bawaan, dependensi pihak ketiga, atau modul internal. Grup ini dapat dibagi berdasarkan baris baru, sehingga memudahkan pengembang untuk mengidentifikasi dependensi dengan cepat. Metode ini mendorong impor terstruktur, yang bila dikombinasikan dengan penyortiran berdasarkan abjad mengabjadkan opsi, semakin meningkatkan kejelasan dan konsistensi di seluruh basis kode.
Selain itu, pengembang mungkin ingin memanfaatkan alat seperti plugin-mengatur-impor yang lebih cantik untuk memastikan bahwa impor tidak hanya dibagi dengan benar tetapi juga diatur ulang secara logis. Alat-alat ini secara otomatis menerapkan struktur impor yang diinginkan setiap kali file disimpan di editor seperti Visual Studio Code. Hal ini memastikan bahwa pengembang tidak perlu menyesuaikan pernyataan impor secara manual dan dapat fokus pada penulisan kode yang lebih bersih dan mudah dipelihara.
Pertanyaan Umum Tentang Pemformatan Impor dengan Prettier dan ESLint
- Apa yang terbaik ESLint aturan untuk mengatur impor?
- Itu import/order aturan dari eslint-plugin-import sangat ideal untuk mengatur impor. Ini memungkinkan Anda mengelompokkan, mengurutkan, dan menyusun impor secara konsisten.
- Bisakah saya membagi pernyataan impor menjadi beberapa baris menggunakan Prettier sendiri?
- Prettier dapat membagi pernyataan import yang panjang menjadi beberapa baris jika printWidth aturan terlampaui. Namun, menggabungkannya dengan ESLint memberikan lebih banyak penyesuaian.
- Apa artinya alphabetize pilihan lakukan?
- Itu alphabetize pilihan di import/order memastikan bahwa anggota impor dan pernyataan diurutkan berdasarkan abjad, sehingga meningkatkan keterbacaan kode.
- Bagaimana cara memastikan impor saya diformat secara otomatis saat disimpan?
- Pastikan keduanya Prettier Dan ESLint dikonfigurasi untuk dijalankan saat disimpan di editor Anda, biasanya melalui pengaturan di Visual Studio Code atau IDE serupa.
- Mengapa menggunakan prettier-plugin-organize-imports?
- Plugin ini memastikan bahwa impor tidak hanya dibagi menjadi beberapa baris tetapi juga diurutkan dan dikelompokkan secara logis, sehingga semakin meningkatkan kemampuan pemeliharaan kode.
Pemikiran Akhir tentang Konfigurasi Prettier dan ESLint
Menyiapkan Prettier dan ESLint untuk pemformatan otomatis pernyataan impor adalah cara yang ampuh untuk meningkatkan kemampuan pemeliharaan proyek Anda. Hal ini memastikan bahwa impor jangka panjang dipecah, diurutkan, dan diatur secara logis.
Dengan menggabungkan alat ini dengan plugin, Anda memastikan konsistensi di seluruh file TypeScript Anda. Hal ini tidak hanya menjaga kode tetap bersih tetapi juga meningkatkan kolaborasi dalam tim Anda karena struktur impor tetap seragam.
Referensi dan Sumber Berguna untuk Konfigurasi Lebih Cantik dan ESLint
- Untuk dokumentasi resmi tentang konfigurasi Prettier, lihat Dokumentasi Lebih Cantik .
- Informasi rinci tentang ESLint dan aturan impor/pemesanan dapat ditemukan di eslint-plugin-impor GitHub .
- Untuk menjelajahi cara menggunakan plugin Prettier seperti plugin-mengatur-impor yang lebih cantik, mengunjungi GitHub yang lebih cantik-plugin-organisasi-impor .
- Untuk panduan komprehensif tentang mengonfigurasi Visual Studio Code agar memformat secara otomatis saat disimpan, periksa Pengaturan Kode Visual Studio .