Book Image

TypeScript Blueprints

By : Ivo Gabe de Wolff
Book Image

TypeScript Blueprints

By: Ivo Gabe de Wolff

Overview of this book

TypeScript is the future of JavaScript. Having been designed for the development of large applications, it is now being widely incorporated in cutting-edge projects such as Angular 2. Adopting TypeScript results in more robust software - software that is more scalable and performant. It's scale and performance that lies at the heart of every project that features in this book. The lessons learned throughout this book will arm you with everything you need to build some truly amazing projects. You'll build a complete single page app with Angular 2, create a neat mobile app using NativeScript, and even build a Pac Man game with TypeScript. As if fun wasn't enough, you'll also find out how to migrate your legacy codebase from JavaScript to TypeScript. This book isn't just for developers who want to learn - it's for developers who want to develop. So dive in and get started on these TypeScript projects.
Table of Contents (16 chapters)
TypeScript Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Getting started with NodeJS


In the previous chapter, we used NodeJS, as gulp uses it. Node can be used for a server and for a command line tool. In this chapter, we will build a server and in Chapter 9, Playing Tic-Tac-Toe against an AI, we will create a command line application. If you haven't installed Node yet, you can download it from nodejs.org.

We will first create a simple server. We will use Phaethon, a package for Node that makes it easy to build a server in NodeJS. Phaethon includes type definitions, so we can use it immediately. We create a file lib/server/index.ts and add the following:

import { Server } from "phaethon"; 
const server = new Server(); 
server.listener = request => new phaethon.ServerResponse("Hello"); 
server.listenHttp(8800); 

We can run this server using the following command:

gulp && node dist/server

When you open localhost:8800 in a web browser, the listener callback will be called and you will see Hello in the browser.

Asynchronous...