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

Setting up the project structure


First, we have to setup the project. The difference with the previous chapter is that we now have to build two applications—the client side and the server side. This causes some differences with the previous setup.

Directories

We will again place our TypeScript sources in the lib directory. In that directory, we will create four subdirectories: client, server, shared, and typings. The lib/client directory will contain the client-side application and the lib/server directory will contain the server code. Codes that can be used by both the server and the client will go in lib/shared. Last but not least, lib/typings will contain type definitions for some dependencies, including NodeJS.

Configuring the build tool

In lib, we create a tsconfig.json file that will contain some configuration for TypeScript. We want to compile the server-side code to es2015, so we can use some new features of TypeScript and JavaScript. The client side, however, must be compiled to es5...