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
Михаил, Вы прекрасный преподаватель! Приятно слушать. Хоть с этим всем и знаком, но 25 минут пролетели незаметно, подача шикарная
Спасибо на добром слове =)
Всё таки я одного не понимаю - как Непомнящий помнит столько всего? 😁
Спасибо! Жаль нет возможности, поставить сразу 100 лайков. Отличная подборка тем, и подача на высоте!
Миша, спасибо! замечательное видео!! Классно рассказал и хорошие примеры привел!
У вас красивый голос и хорошая подача, однозначно лайк :)
Спасибо большое!!!) лайк 100%
Очень хорошее объяснение! Спасибо!
Спасибо Вам!
Премного благодарен!
Такой вопрос, а на 21:17 у нас ведь в функции из bye.js уже указано, что мы делаем console.log, при импорте функции также обязательно необходимо указывать console.log? То есть указывать, что конкретно у нас делает функция, хотя эта функция в другом файле находится? При импорте через "then". Это как что-то наподобие указания прототипа?
Михаил спасибо за хорошую подачу материала, с помощью вашего видео у меня получилось передатавать синхронные функции, а если это асинхронная. К примеру есть кнопка с событием и в ней есть функция колбек. Как передать эту функцию на другую страницу?
Подскажите пожалуйста, а import и export только в сборке работают? В node и в браузере без сборки никак не функционирует?
Формально nodejs поддерживает экспорт и импорт es6, начиная с 14-й версии. Главное не мешать в кучу два подохода redfin.engineering/node-modules-at-war-why-commonjs-and-es-modules-cant-get-along-9617135eeca1
Касаемо браузера - пока невозможно. Для браузеров делается сборка - через parcel, webpack или что-то ещё.
@Михаил Непомнящий Спасибо 👍 А module в браузере тоже без сборки не придумали?
Для браузера это можно решить по-другому, если очень надо. Не очень элегантно, но можно. Сборка помогает получить итоговый 1 js файл, что хорошо. Но можно создать любое количество файлов js и последовательно их подключить к странице, тогда каждый последующий файл будет иметь доступ к функциям предыдущих файлов. Раньше так использовали jquery - сначала подключали его, а потом в своем файле уже его использовали. Здесь принцип тот же. Никакие экспорты и импорты тогда не нужны. Но большой проект так будет сложно создать и тем более поддерживать.
@@mishanep Понял, спасибо :)
@@mishanep , неправда, браузеры новее конца 2016-ого года очяень даже поддерживают ES6 модули из коробки. Попробуйте сами)
Сборщики типа Parcel или Webpack полезны только а) для минификации и автоматического исключения неиспользуемого в проекте кода, б) для транспиляции кода, чтобы он работал во всяких IE9-11, Opera 11-12 и Firefox до версии 54.
какая у вас тема в vs code ? Заранее спасибо
Я использую банальную Light (Visual studio). Для цветных скобочек стоит доп расширение Bracket Pair Colorizer
.
Точно не помню, но возможно на этом была другая тема.
А без системы сборки, вроде парселя, импорт/экспорт с ES6 синтаксисом не работает?
При запуске nodejs ругается на импорт:
import { foo1, foo2 } from './helpers'
Cannot use import statement outside a module
С nodejs отдельная история. Там нужны либо common js импорты/экспорты, либо расширение файлов mjs вместо js, чтобы es6 модули использовать (недавно появилось), либо привычное расширение, но в package.json надо указать type: modules
@@mishanep спасибо, Михаил!
все методы всегда пишут ошибки... для браузерной странички.. не пойму что не так?! экспорт ошибка. импорт тоже.. - да как так?! почему все так) сложно)
Это точно для новичков?
подписываюсь под всем указанным ниже !!!
Здравствуйте! Скорее всего я не первый, кто задаёт этот вопрос: Вы не родственник Яна непомнящего случайно?)
Нет.