Overview of Node.js
Master Node.JS to be industry ready to develop web applications from single-page applications to scalable video streaming sites. Develop a strong skillset in server-side development using the popular open source JavaScript API framework to develop and generate dynamic page content, create, open, read, write, delete, and close files on the server, collect form data, add, delete, modify data in your databases. Practice on cloud labs as you learn with our industry expert.
Duration
3 Days
Prerequisite for Node.js
Application development experience and basic knowledge of the JavaScript language is recommended. Working knowledge of any server technology (J2EE, .NET, Ruby etc.) is preferable but not mandatory.
Course Outline for Node.js
Introduction to NodeJS
- NodeJS background
- History
- How it works
- Installing on Mac and PC
NodeJS core and Modules
- Introduction to the global object
- Standard input / output
- Timing functions
- Core modules
- Information Collection with read line
- Event Handling with Event Emitter
- Exporting custom modules
- Creating child processes with exec and spaw
Interacting with File System
- Listing and reading directories and files
- Writing to files
- Renaming and deleting files and directory
- Reading and writing from file stream
HTTP Module
- Making a request and response mechanism
- Build a web server step by step
- Serving to files
- Serving to Json Data
- Collection post data from web pages
Package Manager – NPMS
- Installing npms locally and globally on mac
- Installing npms locally and globally on windows
- Working with npms
- File servers with httpsters
Working with Web Servers
- The package. json file
- Intro to Express JS
- Express routing and CORS
- Express Post bodies and params
Working with Web Sockets
- Creating a web socket server
- Broadcasting message with web sockets
- Creating web sockets with Sockets.io.
- Create a chat application using sockets.io
Testing and Debugging
- Testing with Mocha and Chai
- Asynchronous Mocha Testing
- Mocking a server with Nock
- Injecting dependencies with rewire
- Advance testing sinos spies
- Advance testing sinos stubs
Automation & Deployment
- Hinting your code with Grunt
- Converting LESS to CSS with Grunt
- Bundling Client scripts with Browserify
- Rapid development with Grunt Watches
- Automation with NPM
- Debugging with NPM