import * as arr from '..pathname'
// ..and somewhere in your code..
const someArray = arr.array1
это что такое?
импорт / экспорт :
экспорт из файла, имеет много вариантов синтаксиса
// explicit exports
export const PI = 3.14159
export const cylinderVolume = (r, h) => {....}
//export as an object..
const PI = 3.14159
const cylinderVolume = (r, h) => {....}
export { PI, cylinderVolume }
// default export
export default PI = 3.14159
export const cylinderVolume = (r, h) => {....}
imports
// importing explict exports
import { PI, cylinderVolume } from 'path'
//importing default and explict exports(PI is default and cylinderVolume is explict)
import PI, { cylinderVolume } from 'path'
// importing as whole..
import * as shape from 'path'
// useage..
const cylinderSurfaceArea = (r, h) => 2*shape.PI*r ( r + h )
Повторный экспорт из другого файла ..
export { cylinderVolume } from 'path'
// re-exporting as default..
export { default as PI } from 'path'
Сравнение некоторых воздействий на размер для вариантов использования:
import _ from 'lodash' // use case..
import * as shape from 'path' // same effect..
Это импортирует весь модуль и оказывает огромное влияние на проект. размер. однако, если мы используем библиотеки вроде loda sh, они рекомендуют это.
import { get, has } from 'lodash'
import { PI, cylinderVolume } from 'path'
удивительно, что разница в размере невелика по сравнению с приведенным выше синтаксисом.
встряхивание деревьев
Современные инструменты сборки (веб-пакет) и другие) объединяют модули и оптимизируют их для ускорения загрузки и удаления неиспользуемых материалов.
, поэтому, чтобы минимизировать влияние на размер, рекомендуемый синтаксис будет
import get from 'lodash/get'
, но все же, когда мы должны импортировать целую кучу вещей, это не практично (или рекомендуется / идеально для удобства чтения) ..