Как я могу собрать к продакшену проект на Angular 9(typescript) с помощью библиотеки «The Closure Library(tools+compiler)»?

Ссылка скопирована
1 ответ

Как я могу собрать к продакшену проект на Angular 9(typescript) с помощью библиотеки "The Closure Library(tools+compiler)"?

Из-за того, что проект очень-очень большой, хотелось бы собрать его в один/два файла с помощью Closure. Прошу просто помочь) Ругать меня не надо))

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

Для сборки проекта на Angular 9 с использованием библиотеки "The Closure Library" вам потребуется выполнить следующие шаги:

1. Установите Angular CLI, если у вас его еще нет. Выполните команду в терминале:

npm install -g @angular/cli

npm install -g @angular/cli

2. Создайте новый проект Angular с помощью Angular CLI:

ng new my-angular-app

ng new my-angular-app

3. Установите библиотеку "The Closure Library" с помощью npm:

npm install google-closure-library

npm install google-closure-library

4. Создайте файл tsconfig.json в корне вашего проекта и добавьте следующую конфигурацию:

{
  "compilerOptions": {
    "target": "es2015",
    "module": "esnext",
    "moduleResolution": "node",
    "lib": ["es2018", "dom"],
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "sourceMap": true,
    "strict": true,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "node_modules/@types"
    ],
    "types": [
      "google-closure-library"
    ]
  },
  "include": [
    "src/**/*.ts"
  ]
}

{ "compilerOptions": { "target": "es2015", "module": "esnext", "moduleResolution": "node", "lib": ["es2018", "dom"], "experimentalDecorators": true, "emitDecoratorMetadata": true, "sourceMap": true, "strict": true, "noImplicitAny": true, "suppressImplicitAnyIndexErrors": true, "typeRoots": [ "node_modules/@types" ], "types": [ "google-closure-library" ] }, "include": [ "src/**/*.ts" ] }

5. Создайте файл build.js в корне вашего проекта и добавьте следующий код:

const exec = require('child_process').exec;
 
exec('node_modules/google-closure-library/closure/bin/build/closurebuilder.py --root=node_modules/google-closure-library --root=src --output_mode=compiled --compiler_jar=node_modules/google-closure-compiler/compiler.jar --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" --output_file=dist/bundle.js', function(error, stdout, stderr) {
  if (error) {
    console.error(error);
  }
});

const exec = require('child_process').exec; exec('node_modules/google-closure-library/closure/bin/build/closurebuilder.py --root=node_modules/google-closure-library --root=src --output_mode=compiled --compiler_jar=node_modules/google-closure-compiler/compiler.jar --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" --output_file=dist/bundle.js', function(error, stdout, stderr) { if (error) { console.error(error); } });

6. Добавьте скрипт сборки в файл package.json:

"scripts": {
  "build": "node build.js"
}

"scripts": { "build": "node build.js" }

7. Теперь вы можете собрать проект для продакшена, выполнив следующую команду в терминале:

npm run build

npm run build

После выполнения этих шагов у вас будет собранный проект Angular 9 с использованием библиотеки "The Closure Library" для продакшена. Не забудьте проверить сгенерированный бандл и убедитесь, что все работает как ожидается.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно