Book Image

Vue.js: Understanding its Tools and Ecosystem

By : Dave Berning
Book Image

Vue.js: Understanding its Tools and Ecosystem

By: Dave Berning

Overview of this book

Vue.js is one of the top three “go-to” JavaScript frameworks and is used by organizations such as Nintendo, NASA, and Expedia. This book is primarily focused on the ecosystem of Vue.js and its development tools. Understanding the basics of the technology behind the Vue.js ecosystem will improve your skills and make you a better problem solver. The book begins with a brief overview of Vue.js. You’ll learn to work your way through the Vue command line interface CLI 3, and use the Vue Router library to navigate between the different views of your application. As you advance through the topics, you’ll explore the use of DevTools to improve the quality of your applications and how to implement server-side rendering in your application through the Nuxt.js framework. Toward the end of the book, you’ll read about the future of Vue.js and its growing popularity. After reading this book, you’ll be able to create industry-grade applications using Vue.js and its tools.
Table of Contents (11 chapters)

Interfaces

What are interfaces? There are no “interfaces” in JavaScript. That is correct. Interfaces a TypeScript-specific concept that exists only in the TypeScript project. We can prove this by creating an interface within the TypeScript playground; it will not compile to JavaScript.

Interfaces are essentially objects with their properties annotated. Once an interface is created, that object becomes a data type that you can check against.

Let’s look at a traditional JavaScript object and a TypeScript interface.

index.js

const person = {
  name: '',
  nickName: '',
  location: '',
  age: 0,
}

index.ts

interface Person {
  name: string;
  nickName: string;
  location: string;
  age: number;
}

We can now assign a const with the type of Person and provide values.

const person: Person = {
  name: 'Peter Parker',
  nickName: 'Spider-Man',
  location: 'New York, NY',
  age: 27
}

console.log(person);

If you...