TypeScript'te İçe Aktarma İfadelerini Kolaylaştırma
Büyük TypeScript veya JavaScript projeleri üzerinde çalışırken, özellikle tek bir modülden birden fazla üyeyi içe aktarırken, uzun içe aktarma ifadeleriyle karşılaşmak yaygındır. Bu çizgiler başlangıçta zararsız gibi görünse de kolaylıkla sınırlarınızı aşabilir. Daha güzel konfigürasyon baskı genişliği ayarı, kodun okunmasını ve bakımını zorlaştırır.
Kodunuzu düzgün ve okunabilir tutmak için bu içe aktarma işlemlerinin biçimlendirmesini otomatikleştirmek önemlidir. Gibi araçlar Daha güzel Ve ESLint uzun içe aktarma ifadelerini otomatik olarak birden fazla satıra bölecek şekilde özelleştirilebilir. Bu, ayarladığınız biçimlendirme kurallarına bağlı kalarak kodunuzun temiz ve tutarlı kalmasını sağlar.
Ancak, bu araçları içe aktarma ifadelerini istenildiği gibi otomatik olarak biçimlendirecek şekilde yapılandırmak zor olabilir. Hem Prettier hem de ESLint'in varsayılan ayarları birçok biçimlendirme sorununu ele alsa da, uzun içe aktarma ifadelerinin birden fazla satıra bölünmesi söz konusu olduğunda genellikle yetersiz kalırlar.
Bu kılavuzda, TypeScript projenizdeki içe aktarma ifadelerini doğru şekilde biçimlendirmek için Prettier ve ESLint'i nasıl yapılandıracağınızı keşfedeceğiz. Kod tabanınızda tutarlılığı korurken çok satırlı içe aktarmalar elde etmek için gereken ayarların üzerinden geçeceğiz.
Emretmek | Kullanım örneği |
---|---|
prettier.format | Bu Prettier işlevi, bir kod bloğunu yapılandırılmış kurallara (ör. printWidth, singleQuote) göre biçimlendirmek için kullanılır. Bir kod dizisini işler ve biçimlendirilmiş çıktıyı döndürür, bu da onu kod stili tutarlılığını sağlamak için ideal kılar. |
eslint.RuleTester | ESLint'e özel bu komut, geliştiricilerin özel ESLint kurallarını test etmesine olanak tanır. Örnek kodu kural test cihazına besleyerek, içe aktarma işlemlerinin birden fazla satıra bölünmesini sağlamak gibi kuralların doğru şekilde uygulanıp uygulanmadığını doğrular. |
prettier-plugin-organize-imports | Bu, içe aktarmaları otomatik olarak düzenlemek için tasarlanmış bir Prettier eklentisidir. İçe aktarma ifadelerinin sıralanmasını sağlar ve printWidth gibi Prettier kurallarıyla birleştirildiğinde uzun içe aktarma işlemlerini birden fazla satıra bölebilir. |
jest.describe | İlgili testleri bir arada gruplayan bir Jest işlevi. Bu bağlamda, ESLint ve Prettier yapılandırmalarının uzun içe aktarma ifadelerini birden çok satıra bölerek doğru şekilde işleyip işlemediğini doğrulayan testleri gruplandırır. |
import/order | Bu, içe aktarma ifadelerinin sırasına ilişkin bir kuralı uygulayan, eslint-plugin-import'tan gelen özel bir ESLint kuralıdır. Ayrıca farklı içe aktarma grupları (ör. yerleşikler, harici paketler) arasına yeni satırların eklenmesini zorunlu kılabilir. |
alphabetize | İçe aktarma/sıralama ESLint kuralında bu seçenek, içe aktarılan üyelerin alfabetik olarak sıralanmasını sağlar. Bu, özellikle birden fazla içe aktarmanın olduğu daha büyük projelerde kodun okunabilirliğini artırır. |
jest.it | Bu Jest işlevi tek bir birim testini tanımlamak için kullanılır. Bu örnekte, uzun içe aktarmaların yapılandırılmış Prettier ve ESLint kurallarına göre birden çok satıra doğru şekilde bölünüp bölünmediğini kontrol eder. |
newlines-between | ESLint kuralını içe aktarma/sıralama için bir yapılandırma seçeneği. İçe aktarma grupları arasında yeni satırları zorlar (örneğin, harici ve dahili içe aktarmalar), kodu daha yapılandırılmış ve gezinmeyi daha kolay hale getirir. |
TypeScript'te Çok Satırlı İçe Aktarmalar için Prettier ve ESLint'i Yapılandırma
Yukarıdaki komut dosyalarının asıl amacı yapılandırmaktır Daha güzel Ve ESLint Bir TypeScript projesinde uzun içe aktarma ifadelerini birden çok satırda otomatik olarak biçimlendirmek için. Prettier yapılandırması, tek tırnak işaretleri ve sondaki virgüller gibi kodlama stillerini tanımlamak ve kodun, baskı genişliği kural. Satır ayarlanan genişliği (bu durumda 80 veya 120 karakter) aştığında Prettier, kodu daha okunaklı hale getirmek için otomatik olarak biçimlendirecektir. kullanarak daha güzel-eklenti-düzenleme-içe aktarmalar eklentisiyle, içe aktarma ifadelerinin mantıksal olarak bölünmesini ve sıralanmasını sağlıyoruz.
ESLint yapılandırmasında, içe aktarma/sipariş itibaren kural eslint-eklenti-içe aktarma eklenti, içe aktarmanın nasıl organize edildiğini kontrol etmek için gereklidir. Buradaki amaç, farklı gruplardan (yerleşik modüller, harici paketler ve dahili modüller gibi) içe aktarmaların yeni satırlarla ayrıldığı tutarlı bir içe aktarma yapısını uygulamaktır. Ek olarak, aynı grup içindeki içe aktarmalar okunabilirliği artırmak için alfabetik olarak sıralanmıştır. Bu kurallar, özellikle birden fazla dosyadan çok sayıda içe aktarılan üyeyle uğraşırken, içe aktarmanın karmaşık hale gelmesini önler.
ESLint kurulumunun bir diğer önemli yönü de aradaki yeni satırlar Her içe aktarma grubunun boş bir satırla ayrılmasını sağlayan seçenek. Bu, özellikle daha büyük kod tabanlarında kodu görsel olarak daha organize hale getirir. ile kombine alfabetik sıraya koymak kural, tüm içe aktarma bloğu yapılandırılmış ve bakımı kolay hale gelir. Kod, Visual Studio Code'da kaydedildiğinde biçimlendirildiğinde, bu ayarlar otomatik olarak uygulanır ve manuel ayarlamalara gerek kalmadan tüm projede tutarlı içe aktarma biçimlendirmesi sağlanır.
Son olarak, bu yapılandırmanın test edilmesi, doğru çalıştığından emin olmak için çok önemlidir. Alay birim testleri, Prettier ve ESLint yapılandırmalarının içe aktarma bölme ve biçimlendirmeyi beklendiği gibi işleyip işlemediğini kontrol etmek için tasarlanmıştır. Örneğin, uzun bir içe aktarma ifadesi sağlandığında test, bunun birden fazla satıra düzgün şekilde bölünüp bölünmediğini doğrular. Bu yaklaşım, geliştiricilerin biçimlendirme kurallarının testini otomatikleştirmesine olanak tanıyarak gelecekteki kod değişikliklerinin aynı içe aktarma yapısı yönergelerine uymasını sağlar.
TypeScript'te Uzun İçe Aktarma İfadelerini Bölmek için Prettier ve ESLint'i Yapılandırma
Bu komut dosyası, bir TypeScript projesinde çok satırlı içe aktarma ifadelerinin biçimlendirmesini yapılandırmak için Prettier ve ESLint'i kullanır. Odak noktası Visual Studio Code ile ön uç geliştirmedir.
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
plugins: ['prettier-plugin-organize-imports'],
}
// Prettier configuration setup for import splitting
ESLint Eklentisini İçe Aktarma ile İçe Aktarma Formatı için ESLint'i Kullanma
Bu arka uç komut dosyası, çok satırlı içe aktarma kurallarını uygulamak için ESLint'i içe aktarma eklentisiyle yapılandırır. Optimize edilmiş kod modülerliği sağlar.
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
İçe Aktarma Biçimlendirme Yapılandırmasını Test Etmek için Örnek Komut Dosyası
Bu komut dosyası Prettier ve ESLint yapılandırmalarının uygulanmasını gösterir. Uzun içe aktarmaların birden fazla satıra bölündüğü bir ön uç örneği görevi görür.
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
İçe Aktarma Biçimlendirme Ayarını Birim Testi
Bu arka uç komut dosyası, Prettier ve ESLint yapılandırmalarının çeşitli ortamlarda beklendiği gibi çalışmasını sağlamak için Jest'i kullanarak birim testleri sağlar.
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
Daha Güzel ve ESLint İçe Aktarma Formatlaması ile Kod Okunabilirliğini Artırma
Daha büyük kod tabanlarıyla uğraşırken tutarlı içe aktarma yapılarını sürdürmek, hem kodun okunabilirliğini hem de ekip işbirliğini geliştirmek için hayati önem taşır. Geliştiricilerin karşılaştığı yaygın sorunlardan biri, özellikle tek bir modülden birçok öğe içerdiğinde, içe aktarma ifadelerinin dosyanın üst kısmını ne kadar uzun süre doldurabileceğidir. Burası gibi araçların olduğu yer Daha güzel Ve ESLint içe aktarma işlemlerinin birden fazla satıra bölünmesini otomatikleştirmenize olanak tanıyarak devreye girer. İçe aktarma ifadelerinin, genellikle baskı genişliği ayarı, yatay kaydırmanın önlenmesine yardımcı olur ve kodun taranmasını kolaylaştırır.
Bir diğer önemli husus da ithalatın organizasyon yapısıdır. kullanarak içe aktarma/sipariş ESLint tarafından sağlanan kural sayesinde, içe aktarmaları kökenlerine göre gruplandırabilirsiniz: yerleşik kitaplıklar, üçüncü taraf bağımlılıkları veya dahili modüller. Bu gruplar yeni satırlara göre bölünebilir, bu da geliştiricilerin bağımlılıkları hızlı bir şekilde tanımlamasını kolaylaştırır. Bu yöntem, alfabetik sıralamayla birleştirildiğinde yapılandırılmış içe aktarmayı destekler. alfabetik sıraya koymak seçeneği, kod tabanındaki netliği ve tutarlılığı daha da artırır.
Ayrıca geliştiriciler aşağıdaki gibi araçlardan yararlanmak isteyebilir: daha güzel-eklenti-düzenleme-içe aktarmalar ithalatın yalnızca doğru şekilde bölünmesini değil aynı zamanda mantıksal olarak yeniden düzenlenmesini sağlamak. Bu araçlar, dosya Visual Studio Code gibi bir düzenleyiciye her kaydedildiğinde istenen içe aktarma yapısını otomatik olarak uygular. Bu, geliştiricilerin içe aktarma ifadelerini manuel olarak ayarlamak zorunda kalmamalarını ve daha temiz ve bakımı daha kolay kod yazmaya odaklanabilmelerini sağlar.
Prettier ve ESLint ile Formatlamayı İçe Aktarma Hakkında Sık Sorulan Sorular
- En iyisi nedir ESLint ithalatı organize etme kuralı?
- import/order itibaren kural eslint-plugin-import ithalatı organize etmek için idealdir. İçe aktarmaları tutarlı bir şekilde gruplandırmanıza, sıralamanıza ve yapılandırmanıza olanak tanır.
- İçe aktarma ifadelerini kullanarak birden fazla satıra bölebilir miyim? Prettier yalnız?
- Prettier, uzun içe aktarma ifadelerini birden fazla satıra bölebilir. printWidth kural aşılmıştır. Ancak bunu ESLint ile birleştirmek daha fazla özelleştirme sağlar.
- Ne işe yarar? alphabetize seçenek mi?
- alphabetize seçenek import/order içe aktarma üyelerinin ve ifadelerin alfabetik olarak sıralanmasını sağlayarak kodun okunabilirliğini artırır.
- İçe aktarma işlemlerimin kaydetme sırasında otomatik olarak biçimlendirildiğinden nasıl emin olabilirim?
- Her ikisinin de olduğundan emin olun Prettier Ve ESLint Düzenleyicinizde kaydedildiğinde, genellikle ayarlar aracılığıyla çalışacak şekilde yapılandırılmıştır. Visual Studio Code veya benzer IDE'ler.
- Neden kullanılmalı? prettier-plugin-organize-imports?
- Bu eklenti, içe aktarma işlemlerinin yalnızca birden fazla satıra bölünmesini değil aynı zamanda mantıksal olarak sıralanmasını ve gruplandırılmasını sağlayarak kodun sürdürülebilirliğini daha da artırır.
Daha Güzel ve ESLint Yapılandırması Hakkında Son Düşünceler
İçe aktarma bildirimlerinin otomatik biçimlendirilmesi için Prettier ve ESLint'i ayarlamak, projenizin sürdürülebilirliğini artırmanın güçlü bir yoludur. Uzun ithalatların mantıksal olarak bölünmesini, sıralanmasını ve düzenlenmesini sağlar.
Bu araçları eklentilerle birleştirerek TypeScript dosyalarınız arasında tutarlılık sağlarsınız. Bu yalnızca kodu temiz tutmakla kalmaz, aynı zamanda içe aktarma yapısı tek tip kaldığından ekibiniz içindeki işbirliğini de geliştirir.
Daha Güzel ve ESLint Yapılandırması için Referanslar ve Faydalı Kaynaklar
- Prettier'in yapılandırmasına ilişkin resmi belgeler için bkz. Daha Güzel Dokümantasyon .
- ESLint ve içe aktarma/sipariş kuralı hakkında ayrıntılı bilgi şu adreste bulunabilir: eslint-eklenti-içe aktarma GitHub .
- Gibi Prettier eklentilerinin nasıl kullanılacağını keşfetmek için daha güzel-eklenti-düzenleme-içe aktarmalar, ziyaret etmek daha güzel-eklenti-düzenleme-içe aktarmalar GitHub .
- Kaydetme sırasında otomatik olarak biçimlendirmek üzere Visual Studio Code'u yapılandırmaya ilişkin kapsamlı bir kılavuz için kontrol edin Visual Studio Kod Ayarları .