Импорт и экспорт JavaScript. На реальном примере

Поділитися
Вставка
  • Опубліковано 16 чер 2024
  • 00:00 Начало видео
    03:10 Вводим функции
    05:40 Выносим функции в файл
    07:26 Import Export
    09:08 Подключаем модуль
    11:05 Type module
    13:21 Делаем второй модуль
    15:55 Делаем именованный экспорт
    19:45 Делаем объект с методами в модуле
    22:23 Храним данные в модуле
    Курс JS 2.0: itgid.info/course/javascript-2
    Методы массивов: itgid.info/course/arraymethod
    Курс HTML для JS разработчиков: itgid.info/course/html
    Остальные курсы: itgid.info/
    Телеграмм канал: t.me/itgid_info
    Код: github.com/itgidinfo/import_e...
    Импорт и экспорт JavaScript на реальном примере - простыми словами. Создаем модули, делаем default export и именованный экспорт.

КОМЕНТАРІ • 118

  • @user-zs3xt4up8j
    @user-zs3xt4up8j 2 роки тому +17

    Спасибо большое за помощь! У Вас талант от Бога объяснять материал!

  • @user-qz8kj3tr8i
    @user-qz8kj3tr8i Рік тому +2

    Если чего-то не знаешь и хочешь краткий, исчерпывающий ответ, то тебе точно сюда! Спасибо за знания!

  • @user-nj8cc8px8o
    @user-nj8cc8px8o 2 роки тому +5

    Большое Вам человеческое спасибо! Перелопатил кучу инфы по модулям, но только тут понял что к чему. Очень доходчиво и понятно.

  • @BagaevRoman
    @BagaevRoman 3 роки тому +2

    Поставил на паузу и поставил лайк. Теперь со спокойной душой буду смотреть дальше. Александр, Спасибо Вам огромное!

  • @valeriyruss
    @valeriyruss 2 роки тому +2

    Отличный урок! Спасибо автору! Ждем новых уроков.

  • @TwoCreativebob
    @TwoCreativebob 2 роки тому +3

    Отличная подача информации! У вас талант.

  • @user-ig4lq2ts8b
    @user-ig4lq2ts8b 3 роки тому +4

    Алекс Лущенко, ты лучший. когда-нибудь накоплю на твой курс )

  • @M27B_our_victory
    @M27B_our_victory 3 роки тому +1

    Как раз в этой теме сегодня разбирался!) Спасибо Александр!)

  • @VenatorLine
    @VenatorLine 3 роки тому +5

    Добрый день!
    Извините что не по теме! Александр, Вы очень хорошо и понятно объясняете, я восхищаюсь вашими видеоуроками. Хотелось бы увидеть от Вас в ближайшем будущем видео о префиксных и постфиксных инкрементах и декрементах. :)

  • @Ireile
    @Ireile 3 роки тому +1

    За видео - лайк! Всегда подробно и понятно. 👍🏻

  • @33mika777
    @33mika777 3 роки тому +29

    Это то, чего мне не хватало. Спасибо! Люблю нативный js :) 😊

  • @raenlin8084
    @raenlin8084 9 місяців тому

    как же круто вы все рассказываете. огромное спасибо!

  • @alexkoss9670
    @alexkoss9670 2 роки тому +1

    Очень круто все объяснил ) Заслуженный лайк)

  • @user-xc7my7by4m
    @user-xc7my7by4m 2 роки тому

    С самого начала изучения JS пользовался NodeJS и привык к его импорту/экспорту. И пришлось работать не с html-файлами, а с php, которые Node не поддерживает. Облазил десятки тем на форумах, и нигде не увидел момент про указание расширения файла при импорте.
    В очередной раз выручили, Александр! Спасибо! Лайк!

  • @CHITUS
    @CHITUS 2 роки тому +4

    спасибо! Очень полезная и понятная инфа)

  • @dreamypioneer3760
    @dreamypioneer3760 7 місяців тому

    Хорошо объяснил про работу модульной системы. Начал vue учить, пришлось вернуться к основам js. Спасибо)

  • @CuBeAreaFUN
    @CuBeAreaFUN 3 роки тому +1

    Спасибо Вам за все Ваши видео 🙏🙏🙏

  • @user-zb4hz5rt3s
    @user-zb4hz5rt3s 27 днів тому

    Спасибо, очень помогли. Ничего не получалось без Live Server, спасибо за подсказку

  • @user-kn9ox6cr3b
    @user-kn9ox6cr3b 3 роки тому +1

    Как всегда на высоте инфа , спасибо!!!

  • @jinke5935
    @jinke5935 3 роки тому

    Нырнул, что называется, в новые для меня открытия мира JS. Очень интересно было! Могу теперь приступать к практике.

  • @katerynatrushko6492
    @katerynatrushko6492 Рік тому +2

    Александр, Вы мой кумир! Получила task написать app на нативном js, не было ни одной идеи как организовать код на голом js без React. После пересмотра урока все стало по полочкам. Спасибо Вам за помощь!💛💙

    • @astkh4381
      @astkh4381 7 місяців тому

      Получили офер?

  • @wujustyle9603
    @wujustyle9603 2 роки тому +2

    просто прекрасно, спасибо большое

  • @ondrui
    @ondrui 2 роки тому

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

  • @apexnuts9785
    @apexnuts9785 3 роки тому +1

    классный урок, понятное объяснение

  • @Neiron666
    @Neiron666 Рік тому

    Красавчик! Обьясняешь на уровне!!

  • @user-bs5te4fp1w
    @user-bs5te4fp1w 2 роки тому

    Спасибо за видео. Только сел учить js и это видео очень помогло

  • @user-ll5xx7ef1p
    @user-ll5xx7ef1p Рік тому

    просто бомба, объяснение проще некуда!

  • @Modestov1998
    @Modestov1998 11 місяців тому

    Большое спасибо, очень полезное видео!
    Жаль не упомянули про работу с классами и их импорт/экспорт)

  • @ALEKSEY_77737
    @ALEKSEY_77737 3 роки тому +1

    спасибо - очень доступно и понятно!

  • @LmM277
    @LmM277 Рік тому

    Спасибо за видео, от доков уже голова кружилась, а хотелось оч без вебпака попробовать импорт.

  • @imdimasan
    @imdimasan 3 роки тому +2

    Вчера хотел сделать тоже самое, все начинания разбились об ошибку в консоли.
    Просыпаюсь утром и чувствую силу ))
    Спасибо

  • @alexdenuke
    @alexdenuke Рік тому

    Как всегда профессионально !

  • @user-th4gy4sz8j
    @user-th4gy4sz8j 2 місяці тому +1

    хороший канал у вас александр спасибо

  • @user-gy5qb8fh1c
    @user-gy5qb8fh1c Рік тому

    Спасибо большое, всё доступно и понятно

  • @AViStudioMoldova
    @AViStudioMoldova Рік тому

    A 4to tak mojno bilo????? :))))) Alex da ti prosto krasava! Bolshoe spasibo!!!! Ne mogu otorvatza ot tvoih urokov!

  • @arsenmaximus6372
    @arsenmaximus6372 2 роки тому

    по мне ОН объяснил эту тему как создатель Java...простыми словами..респект

  • @user-hj1eh8dk9p
    @user-hj1eh8dk9p 3 роки тому

    Отличный урок. Если бы ещё в конце добавить деструктуризацию объекта helper_array2.js, вообще была бы сказка.

  • @therescue1879
    @therescue1879 Рік тому

    спасибо за объяснение. все понятно

  • @omnomnom1323
    @omnomnom1323 2 роки тому

    Спасибо огромное!!! Благодаря вам увидела свою ошибку!!! И все получилось)

  • @altynbekbaktybev2152
    @altynbekbaktybev2152 Рік тому

    очень хороший урок🖤

  • @mikhail9797
    @mikhail9797 Рік тому

    Супер!!! Спасибо Вам огромное!!!

  • @user-vk1kb3xj6b
    @user-vk1kb3xj6b 3 роки тому

    Очень круто 👍

  • @OlegGuitar
    @OlegGuitar Рік тому

    всё очень понятно! спасибо)

  • @Arch_Demon3
    @Arch_Demon3 Рік тому

    единственное видео на тему модулей в ютубе где до конца все максимально понятно

  • @kenanhaciyev3759
    @kenanhaciyev3759 8 місяців тому

    классс, спасибо, без воды

  • @DerAleksey
    @DerAleksey Рік тому

    ухххх!! многоуровневая головоломка = ) интересно, интересно...

  • @user-pw7vb2cg6n
    @user-pw7vb2cg6n Рік тому

    Спасибо вам🎉

  • @romanprokopets3693
    @romanprokopets3693 3 роки тому

    хорошее обьяснение, спасибо)

  • @giorgi_pa
    @giorgi_pa 3 роки тому

    как обычно супер, плюсую и жду новых видео, но я немного огорчен что у вас етого описания нету в JS2.0.

  • @Qwertyqwerty-tq3we
    @Qwertyqwerty-tq3we 3 роки тому +2

    Оoo как раз!👍

  • @user-oi4pi8mu7r
    @user-oi4pi8mu7r 3 роки тому

    Просто и понятно 👍

  • @anton-vr5xw
    @anton-vr5xw 3 роки тому

    крутяк, спасибо огромное

  • @xxxxxx-kz6yi
    @xxxxxx-kz6yi 3 роки тому +1

    Лучший !

  • @arsenmaximus6372
    @arsenmaximus6372 2 роки тому

    Спасибо...ОГРОМНОЕ очень помогло $$$$$$

  • @samiroutka
    @samiroutka Рік тому

    Спасибо большое, помог

  • @user-bm4zd5ln3m
    @user-bm4zd5ln3m 3 роки тому

    Класс, спасибо.

  • @NikoLazo
    @NikoLazo 3 роки тому

    Хорошое видео. Лайк

  • @vlad-zf1ev
    @vlad-zf1ev 3 роки тому

    нереально круто

  • @MrColins710
    @MrColins710 3 роки тому +3

    як завжди топ, дякую!

    • @itgid
      @itgid  3 роки тому

      👍

    • @awenn2015
      @awenn2015 3 роки тому

      Дякуй дякуй

    • @user-zz9ho1lj1p
      @user-zz9ho1lj1p 3 роки тому

      @@awenn2015 Дядя, ты это к чему?

  • @gr1n4h
    @gr1n4h Рік тому

    спосибо добрый человек

  • @tarasshevchuk8477
    @tarasshevchuk8477 Рік тому

    Лайк !!!

  • @sotiva1
    @sotiva1 Рік тому

    👍 отлично

  • @sit8988
    @sit8988 Рік тому

    спасибо большое

  • @user-od6fb7rl3k
    @user-od6fb7rl3k 3 роки тому

    Спасибо!

  • @dimabaradach3022
    @dimabaradach3022 Рік тому

    спасибо,класс!!

  • @famemax8264
    @famemax8264 2 роки тому

    Спасибо

  • @Serewe
    @Serewe 5 місяців тому

    Спасибо большое

    • @itgid
      @itgid  5 місяців тому

      Рад что помогло.

  • @Blackpro
    @Blackpro 3 роки тому +4

    Алекс, привет! Есть идея для ролика, как для практики js. У нас есть на сайте в "альбоме" наши любимые картинки, но мы не хотим их отдельно скачивать. Самый верный вариант, т.к. мы разработчики, написать скрипт для этого. Мы берем каждый элемент, проходим циклом, получая его url из img, добавляем в массив, формируем zip и скачиваем)
    Как тебе? Ну, это моя реализация, я думаю, ты можешь сделать и лучше

  • @690doodoo
    @690doodoo 2 роки тому

    it cool !!THX=)

  • @romaskhin
    @romaskhin 2 роки тому

    Алекс, скажи пожалуйста , что лучше использовать modгle export or export default? спасибо!

  • @user-wf5jn7di4v
    @user-wf5jn7di4v 10 місяців тому

    Хорошо объясните на нативном js.

  • @27sosite73
    @27sosite73 2 роки тому

    спасибо

  • @adhambekrajapboyev1426
    @adhambekrajapboyev1426 2 роки тому

    Spasibo

  • @user-fx8jc8pp5f
    @user-fx8jc8pp5f 3 роки тому

    Все супер! Только не Го лив, а го лайф. :)

  • @koootyayo
    @koootyayo 3 роки тому +1

    А можете рассказать, пожалуйста, как правильно, красиво и удобно реализовать подключение модулей с версткой и js кодом к этой верстке по условию. Т.е. если сделал действие 1 - подтянулся файл с версткой 1 и исполнился код js 1, который работает с этой версткой. Если действие 2 - соответственно верстка 2 и код к ней. Зачем это нужно? Хочу для разных устройств выводить разную верстку. но сделать это все как js библиотеку, без бэкенда.
    Когда пытался реализовывать сам, получилось только с помощью eval() исполнить код, т.к. при подключении верстки, она сразу отрисовывается. Но при подключении кода уже к отрисованной странице - он не исполняется. А про eval() пишут, что он небезопасный. Кстати, разбор этого момента тоже очень интересен (актуальна ли его небезопасность и как вообще через него могут взломать)
    Можете показать на примере чистого js и модулей, а можете например рассказать, как пользоваться какими-нибудь сборщиками из вебпака?
    С большим уважением к Вам и Вашим урокам. Смотрим всей семьей и радуемся жизни!
    p.s. кстати, если сделаете видео на тему безопасности - тоже будет огромный + в карму, про базовые вещи типа xss

  • @web_ingushetiya
    @web_ingushetiya Рік тому

    лучший

  • @user-qb4kf8db9h
    @user-qb4kf8db9h 3 роки тому

    Можно ещё так экспортировать: export const getValue = helper.getValue, mapArray = helper.mapArray

  • @olexanderChorny
    @olexanderChorny 3 роки тому

    Бомба

  • @user-no6lc5yp5i
    @user-no6lc5yp5i Рік тому

    получается с модулями уже нужен вебпак? не запустить просто с помощью хрома?

  • @TalkerTube
    @TalkerTube 3 роки тому

    Спасибо, заполнили пробел в моих знаниях. Как-то так получилось что нативными модулями я не пользовался, а спрашивается почему бы и не использовать при случае? Не обязательно же всюду пихать вебпак

  • @romantyniv5381
    @romantyniv5381 3 роки тому

    спсб

  • @flogger2367
    @flogger2367 Рік тому +1

    Алиас разве нельзя использовать при импорте..? Вопрос создания объекта с методами спорный. Вы все равно в одном файле создаёте большой обьект с этими функциями , т. е строк не меньше в файле. Также Дополнительная переменная на обьект , потом ещё на каждый метод опять переменную для экспорта

  • @user-zm5bb8jk9c
    @user-zm5bb8jk9c 2 роки тому

    superhero[i]['power'] - интересный синтаксис. Подскажите, что это, пожалуйста

  • @user-ld4oq4oc9y
    @user-ld4oq4oc9y 3 місяці тому

    На скорости 1.5 смотрится отлично

  • @user-iu4xu2kx6i
    @user-iu4xu2kx6i 2 роки тому

    У мене в хромі працює тільки коли прописати файлам розширення mjs , інакше не завантажує, щось там з CORS . Не підскажете чому так?

  • @user-no6lc5yp5i
    @user-no6lc5yp5i Рік тому +2

    Если бы вы только понимали как вы помогаете разобраться.... Спасибо!!!!!

  • @phitrow
    @phitrow Рік тому

    Just 'helpers' everyday!

  • @dmitriyv5740
    @dmitriyv5740 6 місяців тому

    Всетаки в php include намного круче. Там функции везде доступны, из файла 1 можно получить в файле 2, а из файла 2 в файле 1, и это одновременно.
    А тут модуль как полностью отдельный скрипт, по сути библиотека.

  • @mrslashx
    @mrslashx 2 роки тому

    what is this: let name = require("./modules/test").NAME ? saying please

  • @vovergg
    @vovergg 3 роки тому +2

    Я только одно не понял. Если нативны импорты в браузере сработали только, когда был запущен live-сервер, то как этот код будет работать, если его разместить на хостинге? К примеру, на GitHub Pages?

    • @user-ek5sb4wz2x
      @user-ek5sb4wz2x 3 роки тому

      Webpack подключите

    • @vovergg
      @vovergg 3 роки тому

      @@user-ek5sb4wz2x Тогда к чему это видео, если без сборики Webpack'ом или live-сервера всё равно не работает в браузере? А я то было обрадовался...

    • @user-ek5sb4wz2x
      @user-ek5sb4wz2x 3 роки тому

      @@vovergg , запустите на хостинге, вот вам и сервер, на том же GitHub Pages

  • @valentyn996
    @valentyn996 2 роки тому

    Запускаю ровно такой же код на OSPanel, у меня ошибок нет - но кода в файле который делает импорт просто не работает =(
    Причем вообще все что есть в файле, даже банальный console.log(123);

  • @evgeniichikishev2096
    @evgeniichikishev2096 Рік тому

    как импортировать класс из другого файла?

  • @ScherzoStudio
    @ScherzoStudio 11 місяців тому

    Все бы хорошо. Но мне требуется прочесть данные из файла.js прямо в скриптах HTML-файла. То есть некие константы, переменные выдернуть из внешнего подключенного файла и использовать их в скриптах index.html. К сожалению, везде, как и здесь, рассказывается об экспорте/импорте между js-модулями. Но никак не напрямую.

  • @vertalet76crew
    @vertalet76crew 3 роки тому +7

    export {getValue2 , mapArray , p} = helpers сработает ?

    • @user-hj1eh8dk9p
      @user-hj1eh8dk9p 3 роки тому

      Вопрос, конечно, интересный. Почему бы не попробовать?

    • @user-hj1eh8dk9p
      @user-hj1eh8dk9p 3 роки тому

      export const { getValue2, mapArray, p } = helpers; работает в лучшем виде. Просмотрев ролик в первый раз, сам задумался о деструктуризации объекта.

  • @user-iy9of1ew8c
    @user-iy9of1ew8c 2 роки тому

    import и export вызывает SyntaxError: Unexpected token - как это обойти, когда запуск идет не через лайв сервер ?

    • @user-iy9of1ew8c
      @user-iy9of1ew8c 2 роки тому

      Сам же и отвечу на вопрос. Так как импорт и экспорт не работает, нужно использовать в js с которого хотите экспортировать например метод написать module.export{ имя метода без скобок}; а в файле в который хотите экспортировать объявить const {имя метода} = require (./путь до файла js из которого импортируете )

  • @vruyrsaribekyan3379
    @vruyrsaribekyan3379 3 роки тому

    Сделай уроки по react native

  • @user-nw3nt9kq6m
    @user-nw3nt9kq6m 3 роки тому

    Очень полезно для начинающих!
    По оформлению видео, Александр, большая просьба, не начинайте с тишины. Кажется, что у меня громкость на нуле. Я выкручиваю посильнее, и тут вы начинаете орать.
    ООООЧЕНЬ резкий переход!!! Не делайте так. Воткните какой-нибудь звук вначале.

  • @m1rable283
    @m1rable283 3 роки тому

    module.exports = сейчас не использоют ?

    • @user-ek5sb4wz2x
      @user-ek5sb4wz2x 3 роки тому +2

      Это только синтаксис node js.

  • @user-zv6gp9vc8f
    @user-zv6gp9vc8f Рік тому

    Вау

  • @mykhailoyanitskyi1934
    @mykhailoyanitskyi1934 3 роки тому

    коли назви імпротів перекликаються можна ще використовувати "import { map as mapArray} from './..../....'"