Минуле, теперішнє та майбутнє Angular CLI

Angular CLI являє собою інтерфейс командного рядка для створення Angular додатків, і протягом останнього року він став одним з найбільш важливих інструментів в арсеналі Angular розробника.

Angular CLI

CLI несе відповідальність за автоматизацію вирішення багатьох проблем та головних болів, які стають розробниками в 2017 році. Починаючи з конфігурації, яка працює з коробки, випікання в найкращих практиках, які були відкриті спільнотою з часом, і допомагаючи вам створювати більше підтримуваний код, CLI виставляє деякі з найпотужніших можливостей Angular таким чином, що простіше для початку, і простіше швидко рухатися, коли порівнюєте все, що складається з собою.

Якщо ви не користуєтеся CLI сьогодні, це легко почати. Якщо ви встановили node та npm, ви можете запустити ці чотири команди, щоб швидко вставати та працювати з Angular та CLI.

npm install —g @angular/cli
ng new my-angular-project
cd my-angular-project
ng serve

Швидко рухється

Angular CLI зробив значний прогрес протягом останніх декількох місяців, ви можете переглянути всеосяжні вказівки про цей прогрес на сторінці випуску , але це може бути корисним, якщо переглянути, що сталося за останні 4 місяці.

1.2 – червень 2017р

– мінімальний прапор

Мінімальний прапор дозволяє розробникам створювати менший простий проект за замовчуванням. Проекти, створені за допомогою цього прапорця, дещо відрізняються від набору за замовчуванням:

  • Вбудовані стилі – стилі зберігаються безпосередньо в файлах компонентів
  • Вбудовані шаблони. Шаблони зберігаються безпосередньо в файлах компонентів
  • Немає тестів – немає підрозділів або закінчення тестів, сформованих проектом

Названі bundles

Коли ви використовуєте Lazy Loading with Angular, ми створимо набір файлів, які завантажуватиметься Angular Router тільки тоді, коли це буде потрібно для певного маршруту, який вимагає користувач.

При створенні виробничих робіт це, в кінцевому підсумку, називається цифровим і послідовним з процесу побудови.

0.46af283b5453c1d30d30.chunk.js 
1.2b2a029972b8935a384a.chunk.js

Тепер із зазначеними розшаруваннями ми будемо використовувати назву модуля як підказку в рамках процесу побудови, щоб допомогти у налагодженні непробних збірок.

admin.module.chunk.js 
home.module.chunk.js

Дедупликація ліцензій та виділення

У Angular та багатьох сторонніх проектах часто є сотні окремих файлів з ліцензіями. Історично наш CLI допоміг розробникам залишатися сумісними, об’єднавши ці ліцензії як частину процесу комплектування.

Тепер, щоб максимально скоротити зв’язки, ми 3rdpartylicenses.txt вилучаємо ці ліцензії в окремий файл і видаляємо всі дублікати ліцензій.

1.3 – серпень 2017 р

Покращення розміру пакета

З кожним випуском ми намагаємось покращити якість коду, який створює CLI з виробничими збірками. З цим випуском ми використовуємо найновіші можливості Webpack 3, включаючи можливості підняття обсягу.

Ми також включили бета-версію нового інструменту, над яким ми працюємо, щоб допомогти вам видалити код, на який ви не залежите, називається нашим оптимізатором збірки. Ви можете дати цей прапор спробувати з:

ng build --prod --build-optimizer

З нашої власної роботи на angular.io, ми побачили зменшення розміру 52% у виробництві нашої продукції.

Angular Universal

Візуалізація на стороні сервера – це чудовий спосіб збільшити сприйнятну продуктивність вашої програми, а також зробити роботу програми кращою для сканерів, як Twitter або Facebook, які вискакують ваш веб-сайт, коли користувачі намагаються поділитися своїм вмістом.

Angular Universal був випущений з v4 Angular і включає в себе всі основні API, необхідні для відтворення вашої Angular програми на сервері. Універсальна підтримка в CLI полегшує це, дозволяючи вам створити другу програму CLI через .angular-cli.json конфігурацію, яка обертає вашу основну програму та дає вам можливість генерувати server пакет.

Початкова підтримка ранніх бета-версій v5

Angular робить основні випуски приблизно кожні 6 місяців. Оскільки все, що робить команда, – це Open Source, нові вузлові випуски, як правило, не мають багато функцій рано в процесі бета-версії, але вони можуть бути цікавими для випробувань, і команда сподівається отримати відгук від ранніх користувачів.

Спробувати та перевірити майбутні релізи Angular, сподіваюся, ви можете спробувати і повідомити нам, що ви думаєте. Версія 5.0.0 для Angular вимагатиме пізнішої версії CLI.

1.4 – вересень 2017 р

Схеми

Одним із головних проектів команди CLI є створення схеми. Схематизація дозволяє запускати довільний код для виконання перетворень дерева як спосіб автоматичного написання коду та створення файлів. Ці можливості дозволяють створювати свої власні шаблони для ng new або ng generate специфічні для вашого стилю або компанії, побудувати на шаблонах ми пропонуємо для вас, або ви можете зробити більш складні речі, такі як генерація коду на підставі форми і відповідей віддаленого API.

Схеми

Майбутнє CLI

Команда, що працює над CLI, має багато планів щодо полегшення життя розробників. Ось декілька ідей, котрі сподіваються (але не обіцяють) включити в майбутні випуски:

  • Попередній режим створення компіляції за замовчуванням – команда Angular робить багато роботи, щоб зробити компіляцію швидше, і як тільки компілятор зможе досягти аналогічного рівня продуктивності до того, що ми бачимо сьогодні, ми перевернемо перемикач і завжди будемо будувати з AOT включено. Це дозволить усунути проблеми, з якими розробники стикаються з різницями між цими двома режимами.
  • ng update - Angular робить патч, незначні та основні випуски на дуже регулярній основі. Інтерфейс ІР може мати повноваження, щоб допомогти вам у курсі. Команда Angular працює над інструментами для матеріалу та інтернаціоналізацією, щоб допомогти автоматизувати процес оновлення, піклуючись про внесення змін для вас, і CLI буде чудовим місцем для обробки цих інструментів.
  • Підтримка бібліотек – сьогодні CLI може створювати UMD, оптимізовані для браузера, а також комбінації CommonJS, оптимізовані для сервера. Що робити, якщо CLI може допомогти вам створити зв’язок, який може бути використаний іншими вузловими програмами?
  • За замовчуванням оптимізатор Build – Оптимізатор Build є дійсно перспективним інструментом, який може допомогти розробникам завантажувати в браузер різко менші розшарування. Після того, як цей інструмент стане твердим і підтверджено спільнотою, за замовчуванням ми ввімкнемо його.
  • Service Worker за замовчуванням. Ми вважаємо, що допомога розробникам у створенні чудових веб-програм часто включає доставку вашої програми як прогресивного веб-додатка (PWA) з працівником служби підтримки. Ми вважаємо, що ці інструменти можна включити за умовчанням, не порушуючи очікувань розробників щодо загальних завдань, таких як видалення або оновлення, і сподіваємося це зробити в майбутньому.

Переклад статті “The Past, Present, and Future of the Angular CLI