Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Enterprise Angular with Nx: Robust Architectur...
Search
Manfred Steyer
PRO
April 19, 2021
Programming
0
260
Enterprise Angular with Nx: Robust Architectures and Fast Builds @iJS London 2021
Manfred Steyer
PRO
April 19, 2021
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
21
All About Angular's New Signal Forms
manfredsteyer
PRO
0
160
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
190
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
130
Your Architecture as a Crime SceneForensic Analysis @BASTA! 2025 in Mainz, Germany
manfredsteyer
PRO
0
68
Your Architecture as a Crime SceneForensic Analysis @EntwicklerSummit Berlin 2025
manfredsteyer
PRO
0
44
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
400
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
660
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
540
Other Decks in Programming
See All in Programming
私はどうやって技術力を上げたのか
yusukebe
43
18k
ALL CODE BASE ARE BELONG TO STUDY
uzulla
25
5.9k
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
Claude Agent SDK を使ってみよう
hyshu
0
600
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
350
オープンソースソフトウェアへの解像度🔬
utam0k
15
2.9k
CSC509 Lecture 05
javiergs
PRO
0
300
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.6k
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
430
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
理論と実務のギャップを超える
eycjur
0
140
CSC305 Lecture 06
javiergs
PRO
0
230
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
How to Ace a Technical Interview
jacobian
280
24k
Balancing Empowerment & Direction
lara
4
690
How STYLIGHT went responsive
nonsquared
100
5.8k
Making Projects Easy
brettharned
120
6.4k
Music & Morning Musume
bryan
46
6.8k
Docker and Python
trallard
46
3.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
Code Review Best Practice
trishagee
72
19k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
@BASTAcon & @ManfredSteyer ManfredSteyer Manfred Steyer, ANGULARarchitects.io Enterprise Angular with
Nx: Robust Architectures and Fast Builds
@BASTAcon & @ManfredSteyer
@BASTAcon & @ManfredSteyer
@BASTAcon & @ManfredSteyer
@ManfredSteyer
@ManfredSteyer Manfred Steyer
@ManfredSteyer
@ManfredSteyer Monorepo Structure
@ManfredSteyer Advantages Everyone uses the latest versions No version conflicts
Sharing Libs: Easy
@ManfredSteyer Moving back and forth Npm Registry
@ManfredSteyer Two Flavors • Like Workspaces/Solutions in different IDEs Project
Monorepo • E. g. used at Google or Facebook Company-wide Monorepo
@ManfredSteyer Creating a Workspace with the CLI npm install -g
@angular/cli ng new workspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer Tooling & Generator https://nrwl.io/nx
@ManfredSteyer Visualize Module Structure
@ManfredSteyer Creating a Workspace with the CLI npm install -g
@angular/cli ng new workspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer Creating a Workspace with Nx npm install -g @angular/cli
npm init nx-workspace myworkspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer Creating a Workspace with NX npm install -g @angular/cli
npm init nx-workspace myworkspace cd workspace ng generate app my-app ng generate lib my-lib --directory my-domain ng serve --project my-app ng build --project my-app
@ManfredSteyer DEMO
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Tagging Apps and Libs (nx.json) "booking": { "tags": ["domain:booking",
"type:app"] }, "booking-feature-search": { "tags": ["domain:booking", "type:feature"] },
@ManfredSteyer Tagging Apps and Libs (nx.json) "booking": { "tags": ["domain:booking",
"type:app"] }, "booking-feature-search": { "tags": ["domain:booking", "type:feature"] },
@ManfredSteyer Linting (.eslintrc) { "sourceTag": "domain:booking", "onlyDependOnLibsWithTags": ["domain:booking", "domain:shared"] }
@ManfredSteyer DEMO
@ManfredSteyer
@ManfredSteyer Options File System Nx Cloud Custom Cache
@ManfredSteyer Configuration (nx.json) "tasksRunnerOptions": { "default": { "runner": "@nrwl/workspace/tasks-runners/default", […]
} },
@ManfredSteyer Configuration (nx.json) "tasksRunnerOptions": { "default": { "runner": "@nrwl/workspace/tasks-runners/default", "options":
{ "cacheableOperations": ["build", "lint", "test", "e2e"], […] } } },
@ManfredSteyer Using nx build app-or-lib --with-deps
@ManfredSteyer Prerequisite for Incremental Builds ng g lib lib-name --buildable
@ManfredSteyer DEMO
@ManfredSteyer Also Test and Lint-Results Can be Cached nx build
app-or-lib --with-deps nx lint app-or-lib --with-deps nx test app-or-lib --with-deps nx e2e app-or-lib --with-deps
@ManfredSteyer Nx Console for Visual Studio Code
@ManfredSteyer • • • •
@ManfredSteyer Free eBook ANGULARarchitects.io/book
@ManfredSteyer • • • •
@ManfredSteyer
@ManfredSteyer d Slides & Examples Remote and In-House http://softwarearchitekt.at/workshops