Я конвертирую проект BackboneJS (v1.2.2) в ES6 с BabelJS.Когда использовать «import * as Foo» в сравнении с «import Foo»?
Я заметил, что есть разница между:
import Backbone from 'backbone'
и
import * as Backbone from 'backbone'
После прочтения here Я понимаю, что бывший импорта экспорта по умолчанию Backbone, где, как последняя позволяет мне " импортировать весь модуль и ссылаться на его названный экспорт через обозначение свойства. "
Я изо всех сил пытаюсь понять разницу между ними. Объекты возвращаются в обоих экземплярах, но первый, кажется, украшен дополнительными свойствами/методами. По крайней мере, я предполагаю, что импорт «всего модуля» будет иметь больше свойств/методов ... но я вижу обратное.
Каковы примеры "дополнительных свойств/методов"? – JMM
Первый экземпляр, как представляется, украшен свойствами других плагинов. Например, я загружаю плагин «backbone.localStorage», и я вижу «LocalStorage», определенный на Backbone, но теперь, когда я думаю об этом, это имеет смысл, потому что «backbone.localStorage» записывается в глобальный объект Backbone. Последний возвращает экземпляр с именами, которые не будут затронуты модификациями «backbone.localStorage». –