Разбиение на модули в JS
У меня есть проект, он начал довольно сильно разрастаться и встал вопрос о том, что бы разбить все его элементы по модулям.
У меня используется axios, lodash и ещё пара подобных библиотек. Я хочу разбить всё на модули и импортировать в 1 условный app.min.js В случае разбиения на модули мне нужно отдельно в каждый модуль имортировать эти библиотеки, ведь так? Если так, то как будет собираться всё это? если у меня 5 раз в 5 модулях подключается lodash, это это же не означает, что на выходе у меня будет 5 копий lodash в разных модулях, верно? Просто всё будет ссылаться к 1 объекту, т.е. будет только 1 lodash у меня в конечном файле, так? |
Так.
:) Более того: не обязательно импортировать ту же lodash целиком, можно импортировать только нужные функции, т.е. не: import _ from 'lodash', а: import { get, map } from 'lodash', и тогда в собранный бандл попадут только они(и те от которых они зависят, само собой). |
Цитата:
|
Спасибо большое!
|
Всплыл ещё 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 |
Для начала проверь точно ли совпадают имена(русская С?). Если да - какие-то глюки gulp'a, тут я тебе не помощник: как начал юзать webpack так и ничего иного мне не надо.)
|
Aetae,
Тогда буду галп колупать, спасибо. ВебПак можно настроить так, что бы не 1 js файл на выходе был? Просто мне нужно 3 файла после сборки |
У вебпака обычно как минимум 2 файла vendor с либами и app с твоим кодом.
Если нужно несколоко разных файлов для разных страниц, за это отвечают entry - можно задавать сколько нужно. |
Часовой пояс GMT +3, время: 12:04. |