Как мне разделить мой javascript на модули с помощью #39;s Closure Compiler от Google?

Я хочу использовать компилятор замыкания Google для исходного кода javascript, который мы используем. В режиме разработки мы склонны разбивать функциональность на множество файлов, но для производства хотелось бы, чтобы они были объединены в модули.

При вызове компилятора я могу дать ему список файлов для включения в компиляцию, но вывод этого показывает, что компилятор не сохранил порядок списка файлов.

Я искал об этом и обнаружил, что могу использовать goog.provide/good.require для управления зависимостями между различными файлами js. Проблема в том, что он добавляет код в мой js, который мне просто не нужен или не нужен, например,:

goog.provide("mainFile")

добавит этот:

var mainFile = {};

в скомпилированный файл js, чего я не хочу. Мы вообще не используем библиотеку закрытия Google, все, что я хочу использовать, это компилятор.

Есть ли способ сообщить компилятору порядок файлов, не добавляя дополнительные функции «библиотеки закрытия», в которых я не нуждаюсь? Я, конечно, могу создать свой собственный инструмент, который сначала возьмет все файлы, объединит их в один, который затем будет вводом компилятора, но я бы предпочел отказаться от этого, если это может сделать сам компилятор.


Редактировать

Цель состоит в том, чтобы иметь возможность создавать модули, подобные ответу в этой ветке:Использование опции модуля --в Closure Compiler для создания нескольких выходных файлов

Итак, я хочу добавить в что возможность контролировать, какие файлы попадают в какой модуль, а также контролировать их порядок. На данный момент я не использую подстановочные знаки, но планирую сделать это в будущем (, если это возможно ).

просто "cat file1.js file2.js > комбинированный.js && компилировать..." в порядке,но в нашем случае это немного сложнее, и нам придется написать программу/скрипт, который делает это на основе некоторой логики. Если мы сможем каким-то образом указать компилятору порядок файлов в расширении, это может просто сэкономить время на реализацию такой программы.

Спасибо.

18
задан Community 23 May 2017 в 10:30
поделиться