2012-06-07 9 views
6

ile JSLint içinde 'varsayılan' (ayrılmış sözcük) 'gördüm JavaScript dosyalarımı doğrulamak için jshint kullanıyorum.Suppress `Bir tanımlayıcı bekleniyor ve bunun yerine Mongoose

Sunucu tarafında Mongod ile node.js kullanıyorum.

Expected an identifier and instead saw 'default' (a reserved word). 

bu hatayı bastırmak için bir yol var mı: tiftiklenmesinin çalıştırırken

var UserSchema = new mongoose.Schema({ 
    firstname : { type: String, default: '' } 
}); 

, ben hata alıyorum: Gelincik ben gibi bir moda schemata yazmaya teşvik ediyorum? Gerçekten yazının yerine o davranışı tercih ediyorum:

var UserSchema = new mongoose.Schema({ 
    firstname : { type: String, "default": '' } 
}); 
+1

http://jslinterrors.com/expected-an-identifier-and-instead-saw-a-a-reserved-word/ Teknik olarak, yani geçersiz JS olduğunu. Ancak JSHint'te bir yapılandırma seçeneği olup olmadığından emin değilim. –

+0

Ben gerçekten bu noktada olsun. Mongoose neden geçersiz JS yazmamızı öneriyor? :/ – jsalonen

+1

Sadece tırnak içine koy ve devam et. İlk başta beni de uyardı, ama şimdi bunu düşünmek için zaman harcıyormuş gibi hissediyorum. – JohnnyHK

cevap

4

"es5" seçeneğini kullanarak bunu gerçekleşmesini devre dışı bırakabilirsiniz.

Bkz: Çoğu çevreler buna izin benzemesine rağmen

+0

"Bir tanımlayıcı bekleniyordu ve bunun yerine" sonunda "(ayrılmış bir kelime) gördü." AngularJS'nin Promise API'sini kullanırken bir sorun. – Alex

+1

Hala bu hatayı görüyorsanız, JSHint sürümünüzü güncellemeniz gerekir. 2.0.0'dan beri 'es5' seçeneği varsayılan olarak etkinleştirilmiştir, ancak yine de bu makaledeki bağlantılı makaleye yönlendiren başvuruları görüyorum. –

5

default gerçekten JavaScript ayrılmış bir sözcük (https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words) 'dir. Teknik olarak, bir nesne özellik adında herhangi bir sorun yaşamadan varsayılanı kullanabilirsiniz, ancak çevirmeniniz katı ise (lint gibi) bu gösterimle ilgili sorun yaşayabilirsiniz.

İleri gitmenin en kolay yolu: Sorunu tırnak işaretleri ekleyerek düzeltin. Lint artık seni istemiyor. Kod iki karakterden daha uzun, ancak ne - linting geçer ve ayrılmış bir anahtar kelimenin kullanımı nedeniyle sorun yaşamanız garanti edilir.