Разница между импортом * как & импорт {по умолчанию как} - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть следующий импорт:

import { default as service } from "../service";

VS

import * as service from "../service";

Мой сервис экспортируется примерно так:

module.exports = {

    init(store) {
         _store = store;
    },

    beginPayment() {
    }

};

Я ожидаю, что только второйимпорт будет работать, так как экспорт по умолчанию отсутствует, однако оба варианта работают.

В чем разница между ними?Один предпочтительнее другого?

Если это дубликат, я прошу прощения, я не нашел ничего конкретного для своего примера в SO или Google.

1 Ответ

0 голосов
/ 20 ноября 2018

Если вы импортируете значение по умолчанию, должно быть значение по умолчанию.

В общем, сообщество в настоящее время проявляет осторожность в отношении экспорта по умолчанию, поскольку они кажутся менее обнаружимыми (У меня нет конкретной цитаты, но я наблюдал за разговором!)

Если вы работаете в команде, то, что бы они ни говорили, это правильный ответ, конечно!

Так что без значения по умолчанию, вам нужно использовать:

import * as service from "../service";

или выбрать конкретную вещь:

import { specificNamedThing } from "../service";
...