Visual Studio 2017'de JavaScript derleme hatası nasıl devre dışı bırakılır?


161

Visual Studio 2017'yi RC'den finale kadar yeni güncelledim. Aşağıdaki hatayı almadım ama son zamanlarda bu hatayı alıyorum. Projeyi oluştururken aşağıdaki hatayı alıyorum ve web projesinin başlamasını engelliyor:

Severity    Code    Description Project File    Line    Suppression State
Error   eqeqeq  (ESLint) Expected '===' and instead saw '=='.   VistaBest.Shop.Web  C:\***\Request.js   21

JavaScript Hatası

Visual Studio 2017'de JavaScript oluşturma hatasını nasıl devre dışı bırakabilirim?


27
Bu benim kod problemim değil, JavaScript
kodumda

9
JavaScript hatası, Visual Studio'da MVC projesi oluşturmayı engellememelidir
Mohammad Dayyan

Kodunuzu paylaşın veya javascript hata mesajını devre dışı bırakın - bunu okuyun: stackoverflow.com/questions/2125455/…
Koby Douek

13
@Koby Douek: Bu benim kod sorunum değil, Visual Studio
Mohammad Dayyan

3
Özellikle bu özel hatayı devre dışı bırakmakla ilgileniyorum. =='===' kadar geçerli bir karşılaştırma operatörüdür. Benim için inşa etmemi engellemiyor, sunucu kodumda başka bir hata olduğunda sadece hata listesini tıkıyor.
xr280xr

Yanıtlar:


298

Bence çözümü bulun:

  1. Açık Tools > Options
  2. Şuraya gidin Text Editor > JavaScript/TypeScript > EsLint(VS2017 15.8'de Lintingdeğil EsLint)
  3. Set Enable ESLintiçinFalse

ESlint'i devre dışı bırak

Visual Studio> = 15.8.5 ESlint Visual Studio 15.8.5'i devre dışı bırakma


2
VS2017'de benim için çalıştı
Rory McCrossan

3
hızlı ipucu: ekran görüntüsünün sol üst köşesindeki metin kutusu, herhangi bir ayarı / seçeneği kolayca aramak için kullanılabilir!
Prashanth Subramanian

6
Altında gizlenir oluyor - Şimdi bunun 15.8.0 oldukça aynı şekilde işe yaramadı Linting>Generalaranıyor eslinthala getirecektir, ancak tiftiklenmesinin etiketlendirilecektir. Aşağıdaki @ Brad'in cevabına bakınız.
ahwm

1
Bu özellik VS 2017 15.8.1 güncellemesinden sonra otomatik olarak çalışmaya başladı. Manuel olarak tekrar kapatmak zorunda kaldım.
Piero Alberto

1
Teşekkürler! Beni sinirlendiriyordu. 15.8.5 sürümü için şimdi sadece bir onay kutusudur.
Sterling Diaz

39

Visual Studio 2017'de (v 15.8.0):

Seçenek 1: Seçenekler> JS Hataları

  1. Açık Tools > Options
  2. Şu yöne rotayı ayarla Text Editor > JavaScript/TypeScript > Code Validation
  3. Ayarlamak Enable JavaScript errorsiçinfalse
  4. veya Enable JavaScript errorsolarak trueve Show errors as warningsolarak ayarlayıntrue

Bunun etkili olması için Visual Studio'yu yeniden başlatmam gerekiyordu.

Seçenekler> JS Hataları

2. Seçenek: Seçenekler> Linting

Aşağıda, küresel linting ayarlarınızı düzenlemenizi sağlayacak başka bir seçenek daha bulunmaktadır:

Seçenekler> JS Linting

3.Seçenek: .eslint dosyası

Ayrıca adlı bir dosya da oluşturabilirsiniz. .eslintrc , projenizin kök dizininde .

Seçenek 4: Dosyadaki ESLint komutları

@ User9153924 yanıtına bakın


kaynaklar


15

Muhammed'in çözümünü denedim ama işe yaramadı. Aşağıdakileri yaparak çalışmayı başardım:

  1. Web .csproj dosyanızı sağ tıklayın
  2. İlkinde <PropertyGroup>aşağıdaki girişi ekleyin: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

4
Sanırım orada birkaç adım atladın. Şunu mu demek istediniz: web .csproj sağ tıklayın, projeyi kaldırın, tekrar sağ tıklayın, düzenle?
xr280xr

11

Ekle /*eslint eqeqeq: ["error", "smart"]*/hataları kaldırmak için JavaScript kodunun ilk satırına. https://eslint.org/docs/rules/eqeqeq

Mohammad'ın çözümünün ardından sözdizimi kontrolü için ESLint'i kapatır. Bu VS2015'te çalışır ve sonraki sürümlerde çalışmalıdır.


Mükemmel & banyo su ile bebeği dışarı
atmaz

Teşekkür ederim! Bu çalıştı, ama eminim "hata" "kapalı" ya da 0 (sıfır, tırnak) olmalıdır. URL referansı sayesinde çalışmak için bir package.json dosyası da aldım.
Stan

4

Visual Studio 2019 için.

resim açıklamasını buraya girin

  1. Araçlar> Seçenekler'i açın
  2. Metin Düzenleyici> JavaScript / TypeScript'e gidin
  3. => Linting> Genel.

Ardından ESLint onay kutusunun işaretini kaldırın. Referans için feryat Resim Lütfen.

resim açıklamasını buraya girin


3

Ben sadece "akıllı" dahil etmek için "eqeqeq" kural davranış değiştirmek zorunda kaldı :

Diğer yanıtlarda belirtilen kullanıcı kök klasöründe bulunan .eslintrc dosyasını düzenleyin.

Akıllı kural eklenerek kurallar bölümünde değişiklik yapılır

    "rules": {

    "eqeqeq": [2, "smart"],

Web makalesinden kopyalandı: Bu seçenek, şu durumlar dışında === ve! == kullanımını zorunlu kılar:

  1. İki değişmez değeri karşılaştırma
  2. Yazı tipinin değerini değerlendirme
  3. Null ile karşılaştırma

Özellikleri şu adreste buldum: https://eslint.org/docs/2.0.0/rules/eqeqeq


Teşekkür ederim! Değişikliğin yürürlüğe girmesi için Visual Studio'yu kapatıp yeniden açmak zorunda kaldım. Ayrıca, "akıllı" parametresini eklemek her durumda hatayı temizlemedi, ancak kuralı tamamen kaldırmak hile yaptı.
zax

0

Mohammad'ın çözümünü denedim ama şanssız, Rafeel cevabını takip ettim ve önerilen kod örneğini eklemek yerine kodu aşağıdaki koddan kaldırdım web .csprojve sonunda projemi inşa edip çalıştırabildim. Aynı dosyada kaldırmanız gereken iki yer vardı. Yine de, kaldırılan kodun çözümümü nasıl etkileyeceğine dair hiçbir fikrim yok.

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

Umarım bu da günü kurtarmak için birine yardımcı olur .. !!!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.