Для того чтобы собрать проект на Angular 9 для продакшена с использованием библиотеки The Closure Library (tools+compiler), вам потребуется выполнить несколько шагов. Давайте рассмотрим их подробнее.
Шаг 1: Установка Closure Library
Сначала вам нужно установить The Closure Library, которая включает в себя инструменты Closure Compiler и Closure Tools. Вы можете установить ее с помощью npm командой:
npm install google-closure-library
После этого, вам необходимо добавить путь до библиотеки в ваш Angular проект. Для этого можно внести изменения в файл angular.json следующим образом:
"build": { "options": { "scripts": [ { "input": "node_modules/google-closure-library/closure/goog/base.js", "inject": "shallow", "bundleName": "closure-library" }, ... ] } },
Шаг 2: Конфигурация Closure Compiler
Теперь нам нужно создать конфигурационный файл для Closure Compiler, который указывает, какие файлы исходного кода нужно собирать и какие параметры использовать. Создайте файл с именем closure-config.js в корневой папке вашего проекта и добавьте следующий код:
{ "angularJs" : { "closure": { "compilation_level": "ADVANCED", "language_in": "ECMASCRIPT5_STRICT", "manage_closure_dependencies": true, "output_wrapper": "'(function(){%output%}).call(this);'", "entry_point": "<YOUR_MAIN_MODULE_NAME>", "externs": [ "path/to/your/externs/file.js" ] } }, "level1Optimization": true, "angularVersion": 9 }
Вместо "<YOUR_MAIN_MODULE_NAME>" в поле "entry_point" укажите имя вашего главного модуля Angular.
Шаг 3: Обновление сборки Angular
Теперь мы должны обновить скрипты сборки Angular, чтобы они использовали Closure Compiler. Добавьте следующую команду в файл package.json в раздел "scripts":
"scripts": { "build:prod": "ng build --prod --aot && npm run closure" }
Шаг 4: Настройка скрипта сборки с Closure Compiler
Теперь вам нужно создать скрипт сборки с помощью Closure Compiler. Введите следующую команду в ваш файл package.json в раздел "scripts":
"scripts": { "closure": "google-closure-compiler --config closure-config.js --output_wrapper default --js '**/*.js' --js '!**/*_spec.js' --warning_level VERBOSE --output_wrapper '(function(){%output%}).call(this)' --language_in ECMASCRIPT6_STRICT --language_out ECMASCRIPT5_STRICT" }
Шаг 5: Сборка проекта
Теперь, когда все настройки готовы, вы можете собрать свой проект для продакшена с использованием The Closure Library и Closure Compiler. Запустите следующую команду в терминале:
npm run build:prod
Это выполнит сборку вашего проекта Angular 9 с использованием The Closure Library и Closure Compiler для оптимизации и минификации вашего кода. Результатом будет скомпилированный и готовый к развертыванию файлы в папке dist.
Таким образом, вы успешно настроили сборку вашего проекта на Angular 9 для продакшена c использованием библиотеки The Closure Library и Closure Compiler.