Ben ESLint aşağıdaki sözdiziminde default
ihracat tanımadığı için benim ES2015 modülü ithalat/ihracat doğrulama eklentisi hakkında bir issue on GitHub alınanDışa aktarma {foo olarak varsayılan} geçerli ES2015 mi?</p> <pre><code>export { foo as default, bar } </code></pre> <p>benim eklenti aşağıdaki (? Eşdeğeri) Lint olacak sözdizimi sorun:
export default foo;
export const bar = ..;
hem Babel ve Esprima hatasız benzer sözdizimi ayrıştırmak ve bu iki ucunda (ithalat ve ihracat) üzerinde Babel kullanarak kod çalışır. StringValue n bir ReservedWord veya stringvalue eğer varsa bir sözdizimi hatası geçerli: ExportClause
arasında ReferencedBindings
her IdentifierName
n
için
:
Ancak, ben spec eski
export { x as default }
formunu verir ikna olmuş değilim n, "uygular", "arabirim", "izin", "paket", "özel", "korunan", "genel", "statik" veya "verim" ifadelerinden biridir.
ReservedWord
does include default
ReferencedBindings
ihraç edilmektedir
specifically to the module-local identifier names (yani
foo
) olup dışa isim kendisi atıfta iddia edilebilir düşünmektedir. Ayrılmış sözcükleri ihraç edebilmek için genellikle garip bir şey gibi görünmektedir;
export { foo as default }
ES2015 bir varsayılan ihracat geçerli bir yoldur: Babel mutlu da özetle Yani
// ./foo.js
export { foo as yield }
// ./mod.js
import { yield as nonReservedIdentifier } from './foo'
gibi bir şey, izin verecektir?
Bu durumda, "varsayılan", varsayılan olarak veya varsayılan "varsayılan" dışa aktarma adında bir adlandırılmış dışa aktarmadır? –
[import spec] (http://www.ecma-international.org/ecma-262/6.0/#sec-static-semantics-importentriesformodule), her ikisinin de olduğunu tahmin ediyor. –
Evet, varsayılan dışa aktarma, yalnızca "varsayılan" adı verilen bir dışa aktarma bağlamasıdır. Her ikisi de öyle ki, varsayılan dışa aktarma/içe aktarma için özel sözdizimi ve "varsayılan" geçersiz bir yerel tanımlayıcıdır. – Bergi