• Как сборщики (например webpack) обрабатывают import from?

    profesor08
    @profesor08 Куратор тега JavaScript
    В зависимости от типа модуля, вебпак смотрит на export или module.exports, далее трансформирует код таким образом, чтоб в других местах предоставлять доступ по ссылке (не url, а адрес в памяти).
    Браузер обрабатывает модули по своему, зачем это реализовывать в браузере - не знаю, наверно чтоб было.
    Ответ написан
    Комментировать
  • Как сборщики (например webpack) обрабатывают import from?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Чтобы что-то импортировать через import from надо чтобы в конечном файле был соответствующий export(т.е. тот файл тоже должен быть модулем). Простой import - это просто подключение скрипта как есть, всё равно что загрузка через <script>.

    npm пакеты содержат разные версии дистрибутивов под разные способы подключения. Надо посмотреть куда указывает module(а не main) в package.json и именно этот файл можно будет подключать через import from.
    Если module в package.json нет - значит библиотека не поддерживает современные es модули, увы, и придётся её использовать по-старинке(хотя лучше проверить глазами js файлы, изредка забывают указать). Именно такая ситуация наблюдается с lodash, однако есть либа lodash-es, которая решает эту проблему.

    Также es модули - относительно новая система, до неё были commonjs модули, и они до сих пор используются в nodejs(как раз на них указывает main в package.json). Но из коробки без соответствующих либ они уже работать не будут.
    Помимо esm и commonjs ещё полно всяких систем, но это уже отдельная тема.

    P.S. Это был ответ на текст вопроса, ответ на заголовок - отдельная обширная и не простая тема и вряд ли вам нужен.
    Ответ написан
    Комментировать