售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright and Credits
Hands-On Full Stack Web Development with Aurelia
Dedication
Packt Upsell
Why subscribe?
PacktPub.com
Foreword
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Reviews
Introducing Aurelia
JavaScript fundamentals
Dynamic typing
Object oriented
Functional
Prototyped
Events handling
The ECMAScript standard
ES 6
Arrow functions
String interpolation
Destructuring
Setting up our environment
Installing Node.js
The Node Package Manager
NPM website
NPM Registry
NPM CLI
Common NPM operations
Updating NPM
Installing NPM packages
Versions
The package.json file
Dependencies and devDependencies
The Aurelia framework
What is a JavaScript framework?
Why use a JavaScript framework?
JavaScript framework comparison
Why Aurelia?
Angular
Technical information
Dependency injection
Component encapsulation
React.js
Technical information
Dependency injection
Component encapsulation
Aurelia
Technical information
Dependency injection
Component encapsulation
Aurelia command-line tool
Installation
Creating a new application
Running our Application
Testing our application
Building our application
Generating custom resources
World Cup app overview
Exploring the application features
Matches explorer
Listing the matches
Creating a new Match
Teams explorer
Listing the teams
Creating a new team
News
Listing the News
Create a New
Social authentication
Creating our app
The project structure
The Bootstrap process
Understanding components
Summary
Styling the User Interface
Talking about CSS
How does it work?
Exploring SASS and LESS
Variables
Nesting
Extends
If/else statements
Automating tasks with Gulp
Understanding Gulp
How does Gulp.js work?
Installing Gulp
JavaScript task
Automating tasks
Exploring CSS frameworks
Bootstrap
Material Design
Material is the metaphor
Bold, graphic, and intentional
Motion provides meaning
Semantic UI
The mobile-first approach
Configuring our project with Aurelia-Materialize
Summary
Testing and Debugging
Benefits of testing
For the development team
For the project
For the organization
For the users
Test-Driven Development
Making our code fail
Implementing the code
Refactoring our code
Aurelia testing frameworks
Learning JasmineJS
Installation and configuration
Test suites
Test cases
Expects
Learning KarmaJS
Installing karma
Configuring Karma
Testing example
Launching the test runner
Testing an Aurelia component
Coding the application
Creating the application
Creating our component
Implementing the info-box view model
Implementing the info-box view HTML template
Rendering the info-box component
Writing the test
Bootstrapping the component
Testing the component
Debugging our code
Refactoring our application
Debugging with Chrome Developer Tools
Summary
Creating Components and Templates
Lego components
A little puzzle
Learning how DI works
Managing a component's life cycle
Managing events with Aurelia
Data binding
Binding computed properties
Value converters
Routing and resources
Testing our components
Testing component life cycle
Time to practice!
Summary
Creating Our RESTful API
Understanding RESTful
Understanding HTTP
URLs
Verbs
Headers
Body
CRUD over HTTP
Designing APIs
API first
API design
Nouns as paths
HTTP verbs for CRUD
API documentation
Creating an API with Node.js
Node advantages
Asynchronous
Single-thread
Simple HTTP Server
Improving our API with Express.js
Coding our server
Using routes
Coding our project
Our project structure
Implementing the Teams API
Configuring the JSON Parser
Refactoring routes
Creating a team
Retrieving the list
Updating a Team
Deleting a Team
Summary
Storing Our Data in MongoDB
NoSQL databases
Document databases
Introducing MongoDB
Installing MongoDB
CRUD operations
Creating a document
Retrieving documents
Updating documents
Deleting documents
MongooseJS
Installing Mongoose
Configuring Mongoose
Defining schemas
Data types
Validation
Creating models
Integrating our API with MongoDB
Decoupling the Team Model
Implementing the Rest Controller
Connecting the app
Creating a new team
Listing the teams
Finding a single team
Updating teams
The async/await instruction
Deleting teams
Summary
Advanced Features on Aurelia
Subscribing and publishing events – Event Aggregator at the rescue!
Configuring Event Aggregator
publish(event, data)
subscribe(event, callbackFunction)
subscribeOnce(event, callbackFunction)
Adding more languages to our application – Internationalization!
Installation and configuration
For Webpack users
JSPM users
Aurelia CLI users
Configuring and defining our first translation files
Using the plugin – Multilanguage support!
Tracking method calls and user actions – Logging
Configuring your log manager
Modal configuration – Aurelia dialog at rescue!
Getting the Aurelia-dialog plugin
Adding dialog components to our application
Dynamic value converters – Less code, more functionality
The problem – Data is not exposed as we need
Binding custom behaviors to our application
Improving our application forms – Validators
Preparing for war – Getting the validation plugin
First steps – Defining our rules
Manipulating the DOM – Custom attributes
Understanding how computed properties work
Summary
Security
Understanding JSON Web Tokens
JWT
Custom authentication and authorization
Implementing authentication
The authentication logic
Generating the token
The authentication REST controller
Implementing authorization
Creating the Admin API
Managing matches
Creating the Match schema
Creating the REST controller
Creating Matches
List Matches
Updating the Scores
Securing the REST controller
Validate token
Validate permissions
Introducing Auth0
A simple example
Creating an account
Registering an Auth0 client application
Exploring our example application
Social Login with Auth0
Single sign-on
Summary
Running E2E Tests
Integration testing – Multiple services, one application
Configuring applications for integration testing
Mocking external dependencies
Calculating code coverage
Does our app meet our business requirements? UI testing
Scripted testing
Exploratory testing
UX testing
Planning our tests – Time for the truth
Defining common scenarios
Writing test cases
Organizing our test – Creating scripts
API test with Swagger
Installing Swagger
Summary
Deployment
Configuring our web for production
Deploying on your own server
Creating our NGINX configuration file
Creating our Dockerfile
Running our application on Docker
Deploying on Heroku
Creating a Heroku account
Preparing the application
Deploy
Deploying on AWS S3 Buckets
Uploading files
Configuring our S3 Bucket for the web
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜