Понять, как Angular импортировать файлы JS и CSS

Я только начинаю с Angular, и некоторые концепции для меня очень непонятны:

  1. Почему мне нужно установить jquery (npm install jquery) и импортировать в файл angular.json, если я могу просто загрузить jquery.js прямо из https://jquery.com/ и добавить в папку assets, а затем добавить в angular.json?

  2. О тегах стилей и скриптов angular.json в документации по Angular есть следующее:

    Any CSS files you want to add that you won’t be referencing from your modules directly, and any JavaScript files that you won’t be importing into your TypeScript files

    Итак, если мне нужно использовать какой-то класс CSS в car.component.html, я не должен помещать этот CSS в angular.json? И если мне нужно использовать jQuery в классе TypeScript, например (car.service.ts), я не должен помещать его и в angular.json? Я вижу много руководств, которые добавляют jQuery в angular.json и после импорта в сервисный класс TypeScript.

  3. Насколько я понимаю, задача Angular состоит только в том, чтобы преобразовать все элементы Angular, такие как модули, директивы, машинописный текст и другие, в одну страницу HTML + Javascript. Думая так, когда я смотрю на папку dist, я должен видеть только HTML + javascript, без элементов Angular. Но заглянув внутрь index.html в папке dist, я увидел <app-root>, и для меня это Angular материал, который нужно преобразовать в фрагмент кода HTML, не так ли?

  4. В завершение, глядя на index.html внутри папки dist, я не вижу jquery.js, bootstrap.js и других JavaScript, вставленных в файл angular.json, но все работает нормально. Эти файлы будут вставлены во время выполнения?

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
634
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

1) Вы можете сделать это обоими способами, однако установка пакетов через NPM является хорошей практикой, поскольку при этом будут установлены любые дополнительные зависимости. Кроме того, кажется более практичным устанавливать / обновлять через NPM с помощью одной команды, чем загружать библиотеки вручную.

2) Вы должны написать свой CSS в таблице стилей car.component.css. Нет необходимости добавлять CSS в ваш angular.json, поскольку вы не хотите, чтобы он применялся глобально, а внутри компонента.

3) Ваше понимание правильное! Однако имейте в виду, что вы можете создать любой собственный тег в HTML. <app-root> на самом деле является настраиваемым HTML-тегом, а не угловой вещью.

4) Эти библиотеки JS вставляются в основной файл JS при сборке. Попробуйте поискать их (ctrl + f) в урезанном JS-файле, чтобы понять.

Для ответа 2), а для JavaScript? Когда мне не следует добавлять .js внутрь angular.json?

Ronaldo Lanhellas 16.12.2018 17:08

Вы добавляете сценарии в angular.json, когда хотите включить глобальные сценарии, которые на самом деле не предназначены для работы с angular (например, вам не нужно касаться angular.json для модулей, которые вы установили через npm). Другой способ - добавить их в ваш index.html, в раздел заголовка (традиционный способ). Однако в этом случае они не будут включены в сборку, поэтому добавление их через angular.json является предпочтительным способом. P.S. Не мог бы тот, кто проголосовал против, объяснить, почему?

treecon 16.12.2018 21:37

Другие вопросы по теме