Когда я создаю проект js с помощью Google Closure Builder (SIMPLE_OPTIMIZATIONS), замыкание включает файл base.js в скомпилированном js-файле. Я не использую закрытие-lib. Только goog.provide и goog.require. Есть ли способ предотвратить эту вставку?Google Closure Builder - предотвратить вставку base.js
3
A
ответ
2
goog.provide
и goog.require
звонки являются частью библиотеки Closure. Определения приведены в base.js
. Хотя я понимаю, что компилятор удаляет вызовы goog.require
как часть компиляции, goog.provide
имеет реальную реализацию (ваш код не будет работать без него).
Если вы использовали ADVANCED_OPTIMIZATIONS
, то устранение мертвого кода удаляло бы все неиспользованные разделы base.js
. Однако не весь код поддается компиляции с ADVANCED_OPTIMIZATIONS
.
Вы можете создать свою собственную копию base.js и включить только необходимые определения.
1
Kjscompiler имеет аннотацию к игнорированию файлов и рассматривает их как внешние: https://github.com/knyga/kjscompiler