2015-07-21 27 views
23

VS 2015'in yeni js sözdizimini desteklediğini duyuyorum, ancak bu IDE intellisense uygulamasında aurelia.js kullanılarak yazılmış bir projeyi açtığımda birçok şeyden şikayetçi oluyor.ES6/ES7 desteği

export class UpperValueConverter { 
    toView(value){ 
    return value && value.toUpperCase(); 
    } 
} 

WebEssentials 2015 yüklü var. Hala hiçbir şey işe yaramıyor gibi görünüyor ... Muhtemelen önemli bir bilgi şu anki VS kurulumumun taze olması, bu yüzden herhangi bir ayarın bozulmadığını.

+0

Bu * bir sözdizimi hatasıdır. Bunu bir nesnesel veya sınıf tanımına yerleştirmek mi demek istediniz? – Bergi

+3

Kullanmakta olduğum ES6'da bir sözdizimi hatası değil ... –

+1

Bir üst düzey giriş olarak bir sözdizimi hatası, bir nesnede bir anahtar/değer veya bir sınıf olarak bir sözdizimi hatası değil, ama bunu göstermedin. – loganfsmyth

cevap

2

.jsx dosyalarında bu sorunu yaşıyordum, Visual Studio 2015, sözdizimi hatalarını ayrıştırmak ve vurgulamak için react-tools eklentisini kullanıyordu.

Ben şimdi bu var soruyu bulamıyorum ama birisi aşağıdaki dosyasındaki bir satırı değiştirmeye söyledi

:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\react-server\server.js 

Değişim aşağıdaki satırı:

var transformed = reactTools.transformWithDetails(code, { elementMap: true }); 

için:

var transformed = reactTools.transformWithDetails(code, 
    { elementMap: true, 
     es6module: "--es6module", 
     harmony: "--harmony", 
     nonStrictEs6module: "--non-strict-es6module" }); 

Ben seçeneği nonStrictEs6module eklendi ve şimdi çoğu şeye beni uyarmaz doğrudan atanan oklar fonksiyonları hariç: Biz nedense ben cevabım inceleyebilrsiniz babel stage-1 transformatör için dönüşüm here :-) react-tools takas başardı eğer

enter image description here

iyi olurdu

+2

Herzaman program dosyaları ile jigging yapmaya başlamak zorunda olduğumuzda, gelecekteki güncellemelerin bizi nasıl olduğunu tekrar hatırlayacağımıza dair iyi bir şansı olacaktır. Visual Studio Topluluk ekibinin bunu doğrudan ele alması gerekiyor. Şimdilik “Sublime Text Open” eklentisini kullanıyorum ve JS dosyalarımı orada düzenliyorum. – Serexx

+0

Cevabını Google'a yeteri kadar kolay ve tekrar yapın, bunu henüz güncellemeden geçirmedim –

2

enter image description here

Sorunun nodeJS proje şablonu olduğunu düşünüyorum. Boş bir web projesi oluşturdum ve jspm komutlarımı çalıştırmak için git bash'ı kullandım. Bir js dosyası eklediğimde hala birkaç sözdizimi sorunu yaşıyorum ancak yeni sözdiziminin çoğunu tanıyabiliyorum.

+0

Evet, ama "çoğu" yeterli değil :). Ekli ekran görüntüsünde, VS'nin size kurulumumla aynı hataları verdiğini görebiliyorum. Garip olan şey, yazarın VS'yi yeni js sözdizimi ile kullandığı ve herhangi bir hata almadığı bazı video eğitimlerini gördüm. Yüklü başka herhangi bir eklenti (websentials) eklentisi olup olmadığını hatırlayamıyorum. –

+0

Aynı şeyle bir video gördüm, hiç hata yapmadılar ama görsel stüdyo kodu kullandıklarıma inanıyorum: https://code.visualstudio.com/. Bu yüce ya da parantez gibi hafif bir IDE. IDE, projeyi çalıştırdığınızda hala çalışmaya devam edeceğini gösteren hatalar gösterdiğinden emin olun. Gerçek hatalar olanların dışında hiç kimsenin olmaması daha iyi olur ama görüntüde gösterilenler, ithalat, ihracat, sınıf vb. Gibi olmayan düğüm şablonundakilerden çok daha azdır. –

3

Yeni ES6/ES7 sözdizimini kullanmak için transpiler kullanmanız gerekir. Üç seçeneğiniz vardır Traceur, Babel veya TypeScript. Bunlar yeni sözdizimini mevcut tarayıcıların desteklediği mevcut ES5 sözdizimine gönderecek. Aurelia Babel veya TypeScript için iyi bir desteğe sahiptir.

Visual Studio 2015, TypeScript 1.5 içerir. Yani Javascript dosya (.js) yerine bir TypeScript dosya (.ts) oluşturmanız gerekir. TypeScript bunu bir ES5 .js dosyasına aktarır. .js dosyası tarayıcıda çalışan dosyadır.

bunu bir ES5 JavaScript dosyası olarak işleyebilir ve Visual Studio'da bir JavaScript dosyası açtığınızda bir ES6/ES7 JavaScript dosyası olarak, o zaman editörü dizimi hataları olsun Babel kullanmak istiyorsanız böylece. Ben önerebilirsiniz

+4

Not: Yalnızca bir motor için kod geliştiriyorsanız, bir Transpiler kullanamazsınız * bu, JavaScript Windows uygulamaları için bir durumdur, dolayısıyla Visual Studio'nun kendisinde yetersiz ES6 desteği nedeniyle yanlış bir şekilde vurgulanan ES6 kodu bile, hala gerçek cihaz üzerinde düzgün çalışıyor. – RReverser

0

iyi şey

WebCompiler olduğunu. Onun en kolay ve güzel yolu vb

en kolay ve en güçlü yolu, AZ derlemek SCSS JSX için ES6 veya AZ veya typescript yazmaya ve CoffeeScript Visual Studio içinde veya MSBuild üzerinden doğrudan dosyaları.

6

Javascript bir dildir. ES6, Javascript'in bir sürümüdür. Microsoft, bunun için bir intellisense eşleme dosyası sağlanmamıştır. Bu yayına ilişkin öneriler, intellisense eşleme dosyaları sağlayan JavaScript çerçeveleri/API'leri kullanmanızı önerir. Bu öneriler, yeni Javascript sürümleri için intellisense hatalarını nasıl durduracağımız hakkındaki soruya cevap vermiyor. Birisi bu eşleme dosyasını yaratmadığı ve Visual Studio/tools/Javascript/Intellisence/reference'den referans alabilmemiz için bir URL sağlamazsa, düz ES6 Javascript'i yazarak sözdizimi hataları alırsınız.