В предыдущей теме были рассмотрены начальная информация об Angular и установка необходимых инструментов и настройка конфигурации для работы с фреймворком. Теперь же создадим первое приложение.
Для написания приложений нам потребуется обычный текстовый редактор, хотя можно использовать специальные среды программирования, как Visual Studio, Netbeans, WebStorm и другие.
Кроме того, для запуска приложения Angular потребуется веб-сервер. В качестве веб-сервера опять же можно использовать множество различных серверов — Apache, IIS, NodeJS и т.д. В данном случае мы будем опираться на NodeJS.
Итак, создадим на жестком диске папку приложения. Путь она будет называться purchaseApp. В этой папке создадим новый файл package.json со следующим содержимым:
varpath=require('path');varwebpack=require('webpack');varUglifyJSPlugin=require('uglifyjs-webpack-plugin');// плагин минимизацииmodule.exports={entry:{polyfills:'./src/polyfills.ts',app:'./src/main.ts',},output:{path:path.resolve(__dirname,'./public'),// путь к каталогу выходных файлов — папка publicpublicPath:'/public/',filename:'[name].js',// название создаваемого файла},resolve:{extensions:['.ts','.js'],},module:{rules:[//загрузчик для ts{test:/\.ts$/,// определяем тип файловuse:[{loader:'awesome-typescript-loader',options:{configFileName:path.resolve(__dirname,'tsconfig.json'),},},'angular2-template-loader',],},],},plugins:[newwebpack.ContextReplacementPlugin(/angular(\\|\/)core/,path.resolve(__dirname,'src'),// каталог с исходными файлами{}// карта маршрутов),newUglifyJSPlugin(),],};
После создания этих трех файлов в папке проекта откроем командную строку (терминал) и перейдем в ней к папке проекта с помощью команды cd:
1
C:\WINDOWS\system32>cd C:\angular2\purchaseApp
И затем выполним команду npm install, которая установит все необходимые модули:
1
C:\angular2\purchaseApp>npm install
После выполнения этой команды в папке проекта должна появиться подпапка node_modules, которая содержит все используемые зависимости и пакеты.
Затем создадим в папке проекта каталог src, а в этом каталоге определим папку app.
В каталог src/app добавим новый файл, который назовем app.component.ts и который будет иметь следующий код:
Первой строкой здесь импортируется функциональность компонента из @angular/core.
Для работы нам потребуется вспомогательный класс Item. Этот класс содержит три поля: purchase (название покупки), done (сделана ли покупка) и price (ее цена).
В самом классе компонента определяется начальный список покупок, который будет выводиться на страницу:
Для вывода покупок здесь определен большой шаблон. Вообще подобные большие шаблоны стоит выносить в отдельные файлы, чтобы сделать код компонента проще. Но в нашем случае пусть все пока будет определено в самом компоненте.
В самом шаблоне для вывода данных из массива items в таблицу предусмотрена директива:
1
*ngFor="let item of items"
Кроме того, сверху от таблицы расположена форма для ввода нового объекта Item. А к нажатию кнопки привязан метод addItem() компонента.
Чтобы задействовать этот компонент, добавим в каталог src/app файл модуля app.module.ts: