Ответ 1
Технически Node.js и NPM не нужны для работы Angular2. Это облегчает вещи, хотя. Вот основные причины, которые я предполагаю, лежат в основе этого выбора:
-
CLI: с тех пор де-факто способ создания и разработки новых Angular-приложений заключается в использовании инструментов CLI, которые также используют Node и NPM.
-
TypeScript: примеры .ts, и вам нужно запустить шаг компилятора, чтобы перевести их в .js, что можно легко сделать на лету с помощью Node.js и NPM (плюс это способ легко получить файлы для печати);
- Веб-сервер: обслуживание вашего Angular SPA с "настоящего", хотя и легкого, веб-сервера предотвращает, вероятно, некоторые неприятные проблемы, связанные с проверкой вашего сайта с помощью ссылок
file://
.
Руководство Quickstart само по себе продолжает упоминать и более конкретные причины:
Вот что делают эти скрипты:
npm start
- одновременно запускает компилятор и сервер, оба в "режиме наблюдения"
npm run tsc
- запускает компилятор TypeScript один раз
npm run tsc:w
- запускает компилятор TypeScript в режиме просмотра; процесс продолжает работать, ожидая изменений в файлах TypeScript и перекомпилируя, когда видит их
npm run lite
- запускает lite-сервер, легкий статический файловый сервер с превосходной поддержкой приложений Angular, использующих маршрутизацию
npm run typings
- запускает инструмент ввода отдельно
npm run postinstall
- вызывается npm автоматически после успешного завершения установки пакета. Этот скрипт устанавливает файлы определения TypeScript, определенные в typings.json
Вы также можете взглянуть на источник Quickstart и углубиться в то, где нужен NPM.
Сноска: есть аналогичный вопрос о необходимости Node.js для AngularJS (1.x).