1

Тема: JS dividing to packages

Мені треба розділити js код на файли (пакети).

Як зараз: є файли розділені за тим на яких сторінках їх використовувати:
- файл з підключенням модалок. Вони потрібні лише на одному типі сторінок, там їх підключаю - і супер.
- файл з ajax - теж підключаю лише на тих сторінках де треба.

Що треба зараз. Є великий код який використовується на двох різних сторінках. Підключення карти.

Сам код карти розділений на класи. Клас карти. Клас полігону. Клас підвантаження даних. Клас маркера і тд.

Якби це було на python, я б організував так:
- пакет map
  file: map
  file: base_marker
  file: specific_marker
  file: polygon

Звіно, що робити не можна, не буду ж я підключати кожного разу всі ці файли. Мені треба їх зібрати в один і підключати кожного разу, де треба.

Але як зібрати?

Використовую gulp (чисто для мініфікації і babel для reguire - і все)

Help, please

2

Re: JS dividing to packages

цікаве завдання, ось що нагуглив, може підійде:

<html>
      <head>
            <title> Сторінка, куди потрібно вставити усі JS-файли </title>
            <script src="/js/all_in.js" type="text/javascript"></script>
      </head>

      <body>
            <!--
                  тут може бути тіло =)
            -->
      </body>
</html>




<script>

// далі код файлу all_in.js
// теги <script> поставив суто для зручності перегляду коду

function include(url) {
        var script = document.createElement('script');
        script.src = url;
        document.getElementsByTagName('head')[0].appendChild(script);
    }

        include("/js/map.js");
        include("/js/base_marker.js");
        include("/js/specific_marker.js");
        include("/js/polygon.js");

</script>

3

Re: JS dividing to packages

Дивись в сторону webpack, або якщо немає часу з ним розбиратись то можна спробувати наприкад browserify

4

Re: JS dividing to packages

Q-bart написав:

Мені треба розділити js код на файли (пакети).

Сам код карти розділений на класи. Клас карти. Клас полігону. Клас підвантаження даних. Клас маркера і тд.
...
  file: map
  file: base_marker
  file: specific_marker
  file: polygon
...
Мені треба їх зібрати в один і підключати кожного разу, де треба.

Але як зібрати?