February 21

Проброс настроек в сборку Angular

В обновлении сборщика приложений в версии 17.1.0 были введены новые параметры загрузчика, что делает обработку файлов более простой и удобной. Эти параметры позволяют указать, как обрабатывать различные типы файлов.

Вот краткий обзор доступных загрузчиков:

  • Загрузчик текстовых файлов (text): Преобразует содержимое файла в строку, идеально подходит для текстовых файлов.
  • Бинарный загрузчик (binary): Преобразует бинарные файлы в Uint8Array, полезно для обработки бинарных данных.
  • Загрузчик файлов (file): Отделяет файлы и предоставляет их расположение во время выполнения, отлично подходит для ресурсов.
  • Пустой загрузчик (empty): Исключает файлы из вашего пакета.

Настройка этих загрузчиков проста. Например, чтобы встроить содержимое SVG в приложение, нужно изменить angular.json:

{
 "architect": {
 "build": {
 "options": {
 "loader": {
 ".svg": "text"
     }
    }
   }
  }
 }

Эта настройка встраивает файлы SVG как строки, устраняя необходимость во внешних запросах файлов для ваших графических элементов:

import foo from './some-big-img.svg';

@Component({
  selector: 'app-user-profile',
  standalone: true,
})
export class UserProfileComponent {
  constructor() {
    import('./user.svg').then((res) => res.default).then(console.log);
  }
}

Для обеспечения совместимости с TypeScript, особенно с пользовательскими загрузчиками, такими как для файлов SVG, добавьте файл определения типа в проект. Это можно сделать, добавив файл (например, src/types.d.ts) со следующим содержимым:

declare module "*.svg" {
  const content: string;
  export default content;
}

Этот шаг предотвратит появление ошибок TypeScript для неизвестных типов файлов.


Это перевод оригинального материала