JS модули - как сделать экспорт и импорт. Фундаментальный JavaScript

Поділитися
Вставка
  • Опубліковано 8 чер 2024
  • Что такое JavaScript модули и как с ними работать. Как правильно организовать импорты и экспорты js-файлов, используя синтаксис CommonJS и современный подход ES6 модулей.
    00:00 Введение
    01:54 CommonJS модули
    11:47 ES6 модули
    Ссылки урока:
    🔥 настройка сборки с Parcel • Сборка проекта с Parce...
    - импорты на MDN developer.mozilla.org/ru/docs...
    - экспорты на MDN
    developer.mozilla.org/ru/docs...
    #javascript #js
    __
    Мои курсы по вебу с купонами:
    ✅ mishanep.com/
    📢 Поддержка канала:
    / mishanep
    www.tinkoff.ru/rm/nepomnyasch...
    paypal.me/mishanep

КОМЕНТАРІ • 29

  • @danildemchenko6004
    @danildemchenko6004 2 роки тому +10

    Михаил, Вы прекрасный преподаватель! Приятно слушать. Хоть с этим всем и знаком, но 25 минут пролетели незаметно, подача шикарная

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

      Спасибо на добром слове =)

  • @u-kob
    @u-kob Рік тому +10

    Всё таки я одного не понимаю - как Непомнящий помнит столько всего? 😁

  • @user-it8bn9ec8i
    @user-it8bn9ec8i 2 роки тому +6

    Спасибо! Жаль нет возможности, поставить сразу 100 лайков. Отличная подборка тем, и подача на высоте!

  • @magerrrr
    @magerrrr 3 роки тому +12

    Миша, спасибо! замечательное видео!! Классно рассказал и хорошие примеры привел!

  • @popov654
    @popov654 3 роки тому +9

    У вас красивый голос и хорошая подача, однозначно лайк :)

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

    Спасибо большое!!!) лайк 100%

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

    Очень хорошее объяснение! Спасибо!

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

    Спасибо Вам!

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

    Премного благодарен!

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

    Такой вопрос, а на 21:17 у нас ведь в функции из bye.js уже указано, что мы делаем console.log, при импорте функции также обязательно необходимо указывать console.log? То есть указывать, что конкретно у нас делает функция, хотя эта функция в другом файле находится? При импорте через "then". Это как что-то наподобие указания прототипа?

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

    Михаил спасибо за хорошую подачу материала, с помощью вашего видео у меня получилось передатавать синхронные функции, а если это асинхронная. К примеру есть кнопка с событием и в ней есть функция колбек. Как передать эту функцию на другую страницу?

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

    Подскажите пожалуйста, а import и export только в сборке работают? В node и в браузере без сборки никак не функционирует?

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

      Формально nodejs поддерживает экспорт и импорт es6, начиная с 14-й версии. Главное не мешать в кучу два подохода redfin.engineering/node-modules-at-war-why-commonjs-and-es-modules-cant-get-along-9617135eeca1
      Касаемо браузера - пока невозможно. Для браузеров делается сборка - через parcel, webpack или что-то ещё.

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

      @Михаил Непомнящий Спасибо 👍 А module в браузере тоже без сборки не придумали?

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

      Для браузера это можно решить по-другому, если очень надо. Не очень элегантно, но можно. Сборка помогает получить итоговый 1 js файл, что хорошо. Но можно создать любое количество файлов js и последовательно их подключить к странице, тогда каждый последующий файл будет иметь доступ к функциям предыдущих файлов. Раньше так использовали jquery - сначала подключали его, а потом в своем файле уже его использовали. Здесь принцип тот же. Никакие экспорты и импорты тогда не нужны. Но большой проект так будет сложно создать и тем более поддерживать.

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

      @@mishanep Понял, спасибо :)

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

      @@mishanep , неправда, браузеры новее конца 2016-ого года очяень даже поддерживают ES6 модули из коробки. Попробуйте сами)
      Сборщики типа Parcel или Webpack полезны только а) для минификации и автоматического исключения неиспользуемого в проекте кода, б) для транспиляции кода, чтобы он работал во всяких IE9-11, Opera 11-12 и Firefox до версии 54.

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

    какая у вас тема в vs code ? Заранее спасибо

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

      Я использую банальную Light (Visual studio). Для цветных скобочек стоит доп расширение Bracket Pair Colorizer
      .
      Точно не помню, но возможно на этом была другая тема.

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

    А без системы сборки, вроде парселя, импорт/экспорт с ES6 синтаксисом не работает?
    При запуске nodejs ругается на импорт:
    import { foo1, foo2 } from './helpers'
    Cannot use import statement outside a module

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

      С nodejs отдельная история. Там нужны либо common js импорты/экспорты, либо расширение файлов mjs вместо js, чтобы es6 модули использовать (недавно появилось), либо привычное расширение, но в package.json надо указать type: modules

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

      @@mishanep спасибо, Михаил!

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

    все методы всегда пишут ошибки... для браузерной странички.. не пойму что не так?! экспорт ошибка. импорт тоже.. - да как так?! почему все так) сложно)

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

    Это точно для новичков?

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

    подписываюсь под всем указанным ниже !!!

  • @user-jc5ck5ph5t
    @user-jc5ck5ph5t 7 місяців тому

    Здравствуйте! Скорее всего я не первый, кто задаёт этот вопрос: Вы не родственник Яна непомнящего случайно?)