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?

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.