Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2021, 03:51
Интересующийся
Отправить личное сообщение для JetStar Посмотреть профиль Найти все сообщения от JetStar
 
Регистрация: 01.05.2016
Сообщений: 10

Разбиение на модули в JS
У меня есть проект, он начал довольно сильно разрастаться и встал вопрос о том, что бы разбить все его элементы по модулям.
У меня используется axios, lodash и ещё пара подобных библиотек.
Я хочу разбить всё на модули и импортировать в 1 условный app.min.js
В случае разбиения на модули мне нужно отдельно в каждый модуль имортировать эти библиотеки, ведь так?
Если так, то как будет собираться всё это? если у меня 5 раз в 5 модулях подключается lodash, это это же не означает, что на выходе у меня будет 5 копий lodash в разных модулях, верно? Просто всё будет ссылаться к 1 объекту, т.е. будет только 1 lodash у меня в конечном файле, так?
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2021, 04:02
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Так.





Более того: не обязательно импортировать ту же lodash целиком, можно импортировать только нужные функции, т.е. не:
import _ from 'lodash'
, а:
import { get, map } from 'lodash'
, и тогда в собранный бандл попадут только они(и те от которых они зависят, само собой).
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 04.01.2021, 09:38
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Сообщение от JetStar
Просто всё будет ссылаться к 1 объекту, т.е. будет только 1 lodash у меня в конечном файле, так?
Именно так
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2021, 10:39
Интересующийся
Отправить личное сообщение для JetStar Посмотреть профиль Найти все сообщения от JetStar
 
Регистрация: 01.05.2016
Сообщений: 10

Спасибо большое!
Ответить с цитированием
  #5 (permalink)  
Старый 04.01.2021, 22:51
Интересующийся
Отправить личное сообщение для JetStar Посмотреть профиль Найти все сообщения от JetStar
 
Регистрация: 01.05.2016
Сообщений: 10

Всплыл ещё 1 вопрос:
у меня есть файл mainPage.min.js , в него подключаю модуль
import navigation from './modules/navigation';

В модуль navigation подключаю сабмодуль getCoords, который лежит с ним в папке modules на 1 уровне вложенности
Подключается он в navigation вот так
import { getDocumentScroll, getCoordsElem, getCoordsElemByParent } from './getCoords'
,однако gulp выдаёт ошибку мол нет модуля в папке
Error: module "./modules/getCoords" not found from

Хотя файл есть в папке. В где у меня ошибка?
вот структура папок:
mainPage.min.js
->modules
--navigation.js
--getCoords.js
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2021, 01:09
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Для начала проверь точно ли совпадают имена(русская С?). Если да - какие-то глюки gulp'a, тут я тебе не помощник: как начал юзать webpack так и ничего иного мне не надо.)
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 05.01.2021, 02:29
Интересующийся
Отправить личное сообщение для JetStar Посмотреть профиль Найти все сообщения от JetStar
 
Регистрация: 01.05.2016
Сообщений: 10

Aetae,
Тогда буду галп колупать, спасибо.
ВебПак можно настроить так, что бы не 1 js файл на выходе был? Просто мне нужно 3 файла после сборки
Ответить с цитированием
  #8 (permalink)  
Старый 05.01.2021, 04:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

У вебпака обычно как минимум 2 файла vendor с либами и app с твоим кодом.
Если нужно несколоко разных файлов для разных страниц, за это отвечают entry - можно задавать сколько нужно.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу JS разработчиков в лесу Kenjuy27 Работа 0 18.07.2018 09:06
Диалог между HTML и внешним JS в контексте расширения GoogleChrome ev1lart Events/DOM/Window 0 26.04.2017 19:25
BackEnd/FrontEnd Developer (Native JS) Abab Работа 0 25.12.2016 10:56
JS <-> Server Js. Severtain Общие вопросы Javascript 1 05.11.2011 15:36
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28