Angular представляет фреймворк от компании
Google для создания клиентских приложений. Прежде всего он нацелен на разработку
SPA приложений (
Single Page Application), то есть одностраничных приложений.
Angular является продолжением фреймворка
AngularJS.
Angular предоставляет такую функциональность, как двустороннее связывание, позволяющее динамически изменять данные в одном месте интерфейса при изменении данных модели в другом, шаблоны, маршрутизация и так далее.
Одной из ключевых особенностей
Angular является то, что он использует в качестве языка программирования
TypeScript.
Но мы не ограничены языком
TypeScript. При желании можем писать приложения на
Angular с помощью таких языков как
Dart или
JavaScript.
Однако
TypeScript все таки является основным языком для
Angular.
Последняя версия это
Angular 10 вышла в июне 2020 года.
json
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es2015", "dom" ],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"typeRoots": [
"node_modules/@types/"
]
},
"include": [
"src/**/*.d.ts"
],
"exclude": [
"node_modules"
]
}
JavaScript
webpack.config.js
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: {
'app': './src/main.ts'
},
mode: 'production',
output: {
path: __dirname + '/build',
filename: 'transformed.js'
},
resolve: {
extensions: ['.ts', '.js']
},
module: {
rules: [
{
test: /\.ts$/,
use: [
{
loader: 'awesome-typescript-loader',
options:
{
configFileName: __dirname + '/tsconfig.json'
}
},
'angular2-template-loader'
]
}
]
},
plugins: [
new webpack.ContextReplacementPlugin(
/angular(\\|\/)core/,
path.resolve(__dirname, 'src'),
{}
)
]
}