Какие пакеты в официальном угловом шаблоне действительно нужны и почему? - PullRequest
0 голосов
/ 20 февраля 2019

В моем проекте есть сервер TypeScript / Express, и я хочу добавить Angular в тот же проект.

Я закончил официальный учебник , поэтому я понимаю основы.

Большинство людей просто используют официальный угловой шаблон - ng new appname.Но я хочу знать минимальный набор пакетов , который нужно добавить к package.json, и почему.

Я предполагаю, что некоторые пакеты не нужны, и были добавлены, чтобы разработчикам было легче учитьсяУгловой - я не хочу это.

CLI добавляет это как dependencies:

@angular/animations
@angular/common
@angular/compiler
@angular/core
@angular/forms
@angular/platform-browser
@angular/platform-browser-dynamic
@angular/router
core-js
rxjs
tslib
zone.js

И это как devDependencies:

@angular-devkit/build-angular
@angular/cli
@angular/compiler-cli
@angular/language-service
codelyzer
jasmine-core                     // I assume this is for unit testing
jasmine-spec-reporter            // I assume this is for unit testing
karma
karma-chrome-launcher
karma-coverage-istanbul-reporter
karma-jasmine
karma-jasmine-html-reporter
protractor                       // I assume this is for integration testing
ts-node

Чтоиз них на самом деле нужны?(или по другому: какой из них можно удалить?)

1 Ответ

0 голосов
/ 06 марта 2019

dependencies.Из того, что я могу сказать, в этом списке нет ничего обязательного.

@ angular / animations Для анимации.Без анимации переходы веб-страниц могут показаться резкими и резкими. Документы

@ angular / common @ angular / compiler @ angular / core Все три являются базовой библиотекой.

@ angular / forms Поддерживает формы HTML, в частности привязки.

@ angular / platform-browser Поддерживает доставку приложений Angular в различных поддерживаемых браузерах. Документы

@ angular / platform-browser-dynamic Знает, как загрузить приложение в определенный браузер. Документы

@ angular / router Поддерживает маршрутизацию.

core-js Модульная стандартная библиотека для JavaScript.Включает полифилы для ECMAScript 5, ECMAScript 6. Документы

rxjs Поддерживает события и наблюдаемые.

tslib Этобиблиотека времени выполнения для TypeScript, которая содержит все вспомогательные функции TypeScript. Docs

zone.js Основная цель использования zonejs в angular2 - узнать, когда нужно визуализировать. Документы

devDependencies.

@ angular-devkit / build-angular Вероятно, требуется angular-cli дляbuild.

@ angular / cli @ angular / compiler-cli Обе функции необходимы для корректной работы angular-cli.

@ angular / language-service Служба Angular Language Service - это способ получения дополнений, ошибок, подсказок и навигации внутри ваших шаблонов Angular. Документы

codelyzer Статический анализ для Angular проектов. Документы

jasmine-core jasmine-spec-reporter Используется для модульного тестирования и формирования отчета о покрытии соответственно.

карма карма-хром-пусковая установка карма-охват-стамбул-репортер карма-жасмин карма-жасмин-html-репортер Карма - бегун-испытатель.Жасмин использует это.Репортеры используются для генерации покрытия.

транспортир Используется для сквозного тестирования.

ts-node Машинопись для NodeJ.

К вашему первоначальному вопросу я бы не рекомендовал ничего удалять, потому что, как вы видите, каждый из них делает что-то конкретное, что вы не хотите потерять во время разработки.Мое небольшое угловое приложение составляет около 500 МБ, но это не имеет значения, потому что, как только я сделаю ng build, оно будет скомпилировано в 20 МБ.

Дополнительно, как указано в связанном ответе SO , вы можетеиспользуйте ng new --minimal [name] для создания минимального списка пакетов, абсолютно необходимых для запуска вашего приложения.

...