JavaScript
В чем реальный профит js модулей?
В чем реальный профит js модулей? стоит ли париться с их реализацией в проекте?
В том, что код будет автоматически собран в (например) один файл/бандл. Тебе не надо париться с тем, чтобы втыкать на страницу нужные js-файлы в нужном порядке. Благодаря модулям ты можешь импортировать лишь те функции из библиотек, которые ты реально используешь, а не всю библиотеку целиком. Также конечный бандл эффективно минимизируется. В конечном итоге повышается скорость загрузки страницы и ты упрощаешь себе работу.
Александр Грановский
ну меня в них например напрягает то что я не могу понять когда страница загружена и готова к работе, например загрузил сайт, дальше по клику у меня идет погрузка еще js файлов, как мне понять что они подгружены и объекты в них готовы к использвоанию? есть динамическая функция импорт окей но она возвращает проимс и если я подгружаю несколько файлов? как обработать несколько промсов одновременно?
В модульности, как ни странно.
Париться с реализацией - не нужно вовсе, так как стандартные модули через разметку совсем невкусные, и пипл использует бандлеры (в основном webpack/rollup/parcel) которые работают с другим стандартным способом: через import/export. Или, через CommonJS модули.
Париться с реализацией - не нужно вовсе, так как стандартные модули через разметку совсем невкусные, и пипл использует бандлеры (в основном webpack/rollup/parcel) которые работают с другим стандартным способом: через import/export. Или, через CommonJS модули.
Александр Грановский
да вот я и думаю сижу я реализовал свое подключение файлов динамическое, с четким соблюдением порядка выполнения и параллельной загрузкой при этом, и у меня поулчаеться очень красивый и элегантный кодик вот например:
window.loader.import("core.log.logCollector");
window.loader.import("core.singleton");
let adminApplication = function(){
window.loader.ready(function(){
window.singleton = new singleton();
let log = window.singleton.getInstance("logCollector");
log.info("test OK");
});
}
и вот вычитал про модули нативные, и чет атм трешь какой то
window.loader.import("core.log.logCollector");
window.loader.import("core.singleton");
let adminApplication = function(){
window.loader.ready(function(){
window.singleton = new singleton();
let log = window.singleton.getInstance("logCollector");
log.info("test OK");
});
}
и вот вычитал про модули нативные, и чет атм трешь какой то
Нативные модули
1. движки Js используют отложенную компиляцию
2. модули исполняются в отдельной области видимости и только один раз.
сочетание этих двух факторов позволяет браузеру пользовать принцип компилируется только то что будет использоваться
К примеру ты подключаешь к своей странице популярные библиотеки как модули аБУляр (тыша методов внутри) и БУквери (пятсот методов внутри) но реально используешь на странице только 120 методов из этих библиотек. И браузер скомпилирует только 120.
После того как проведет инициализацию модуля сработают правило на отдельную область видимости и никто не сможет позднее получить ссылку на объекты в модуле. и браузер может забить на компиляцию 1380 методов и смело выкинуть их из памяти.
Скриптовые реализации модулей это просто способ отделить теплое от мягкого.
Но в реальности спецификация модулей фича новая активно обсуждается. У массовиков затейников в WebAssembly есть идеи про разделяемые модули в cors окружении но в браузерах стоит ожидать не раньше лета.
1. движки Js используют отложенную компиляцию
2. модули исполняются в отдельной области видимости и только один раз.
сочетание этих двух факторов позволяет браузеру пользовать принцип компилируется только то что будет использоваться
К примеру ты подключаешь к своей странице популярные библиотеки как модули аБУляр (тыша методов внутри) и БУквери (пятсот методов внутри) но реально используешь на странице только 120 методов из этих библиотек. И браузер скомпилирует только 120.
После того как проведет инициализацию модуля сработают правило на отдельную область видимости и никто не сможет позднее получить ссылку на объекты в модуле. и браузер может забить на компиляцию 1380 методов и смело выкинуть их из памяти.
Скриптовые реализации модулей это просто способ отделить теплое от мягкого.
Но в реальности спецификация модулей фича новая активно обсуждается. У массовиков затейников в WebAssembly есть идеи про разделяемые модули в cors окружении но в браузерах стоит ожидать не раньше лета.
Юрий Максимов
Видать автор этого не понимает. Он думает, что тянет весь файл.
Напиши свою библиотеку, и тяни только нужные функции.
Александр Грановский
а какая разница файл весьвсеравно будет скачан
Похожие вопросы
- Помогите определиться с выбором нового языка (JS(TS) vs Java)
- Js фреймворки, что полезного можно для себя найти?
- В чем цель фреймворков js web?
- [HTML/CSS/JS] Как сохранять изменённые в .js данные оффлайн-сервера локально?
- Почему jQuery методы популярнее js методов при общении с ДоМ?
- ПОЧЕМУ JS ТАКОЙ НЕПОНЯТНЫЙ???
- вопрос по JS. " простой ()";
- Порядок изучени JavaScripta. Путь к Node.js. Нужен совет по обучению от программистов
- Почему иногда в вакансиях пишут "знания JavaScript или JQuery"? По сути JQuery - лишь библиотека для JS.
- почему так много js файлов?