Bagaimana saya bisa alias impor default dalam Javascript?

384

Menggunakan modul ES6, saya tahu saya bisa alias impor bernama

import { foo as bar } from 'my-module';

Dan saya tahu saya bisa mengimpor impor default

import defaultMember from 'my-module';

Saya ingin alias impor default dan saya pikir yang berikut ini akan berfungsi

import defaultMember as alias from 'my-module';

tetapi itu menghasilkan kesalahan parsing (sintaks).

Bagaimana saya bisa (atau bisa saya?) Alias ​​impor default?

sfletche
sumber

Jawaban:

728

defaultMembersudah merupakan alias - tidak perlu menjadi nama fungsi / hal yang diekspor. Kerjakan saja

import alias from 'my-module';

Atau Anda bisa melakukannya

import {default as alias} from 'my-module';

tapi itu agak esoteris.

Bergi
sumber
12
Alias ​​itu sendiri adalah esoteris! Mengimpor ekspor yang disebutkan dan defaultnya berguna ketika menguji komponen import WrappedComponent, { Component } from 'my-module';
redux
beberapa aturan tslinting yang sangat ketat tidak setuju dan benar-benar ingin Anda mempertahankan nama input default sebagai nama file
phil294
1
@ Blauhirn Apakah itu untuk IDE lama yang tidak dapat mengikuti referensi dan perlu menggunakan pencarian dan ganti global untuk alat refactoring mereka? Konyol.
Bergi
@Bergi tidak, ini aturan tslint "import-name", digunakan misalnya oleh aturan tslint airbnb dan oleh karenanya agak tersebar luas. Aturan-aturan ini ada untuk mendorong kode yang konsisten, bebas bug, dan dapat dibaca
phil294
2
Dokumen MDN harus mencerminkan pembaruan dokumen ini: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
nardecky