更新时间:2021-07-02 23:02:59
封面
版权信息
Credits
About the Author
About the Reviewers
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
Getting Ready
Two players one goal
The ASP.NET core revolution
What's new in Angular?
A full-stack approach
Single-Page Application
Common features of a competitive SPA
Product Owner expectations
A sample Single-Page Application project
The vision
Not your usual "Hello World!"
Introducing TestMakerFree
Core features and requirements
Preparing the workspace
Disclaimer-Do (not) try this at home
The broken code myth
Stay hungry stay foolish yet be responsible as well
Versions and builds
Setting up the project
Alternative setup using the command line
Test run
Looking around
The configuration files
Program.cs
Startup.cs
The appsettings.json file
The package.json file
Upgrading (or downgrading) Angular
Upgrading (or downgrading) the other packages
The tsconfig.json file
The webpack configuration files
Updating the webpack.config.js file
Patching the webpack.config.vendor.js file
Why use a dynamic module bundler?
Refreshing the Webpack-generated files
The server-side code
Controllers/HomeController.cs
Controllers/SampleDataController.cs
The /Views/ folder
The client-side code
The /ClientApp/app/ folder
Getting to work
Static file caching
A blast from the past
Back to the future
Testing it up
The strongly-typed approach(es)
Client app cleanup
Trimming down the component list
The AppModule class(es)
Updating the NavMenu
References
Suggested topics
Summary
Backend with .NET Core
The data flow
The role of ViewModel
Our first ViewModel
QuizViewModel
QuizController
Adding more action methods
ByTitle()
Random()
Adding other controllers
QuestionViewModel
QuestionController
AnswerViewModel
AnswerController
ResultViewModel
ResultController
Understanding routes
Defining routing
Routing through the ages
Handling routes in .NET Core
Three choices to route them all
Adding more routes
The Dummy Data Provider
Dealing with single entries