Book Image

JavaScript and JSON Essentials - Second Edition

By : Bruno Joseph D'mello, Sai S Sriparasa
Book Image

JavaScript and JSON Essentials - Second Edition

By: Bruno Joseph D'mello, Sai S Sriparasa

Overview of this book

JSON is an established and standard format used to exchange data. This book shows how JSON plays different roles in full web development through examples. By the end of this book, you'll have a new perspective on providing solutions for your applications and handling their complexities. After establishing a strong basic foundation with JSON, you'll learn to build frontend apps by creating a carousel. Next, you'll learn to implement JSON with Angular 5, Node.js, template embedding, and composer.json in PHP. This book will also help you implement Hapi.js (known for its JSON-configurable architecture) for server-side scripting. You'll learn to implement JSON for real-time apps using Kafka, as well as how to implement JSON for a task runner, and for MongoDB BSON storage. The book ends with some case studies on JSON formats to help you sharpen your creativity by exploring futuristic JSON implementations. By the end of the book, you'll be up and running with all the essential features of JSON and JavaScript and able to build fast, scalable, and efficient web applications.
Table of Contents (20 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Gulp JSON configuration


Last but not least, we need to configure our gulp task using JSON. Let's create a JSON config file named gulpconfig.json. The gulpconfig.json file will provide control over all the settings, sources, and naming of tasks from a single location. Even though we have one single route API task to test for now, it is best to start it in an advanced stage. Once the application API increases, it becomes difficult to change something at the app structure level. Here are the contents of gulpconfig file:

{
    "apiflow":
    {
        "name": "Test-API-Flow",
        "sequence": ["start-app", "test-routes", "stop-app"]
    },
    "routes":
    {
        "name": "test-routes",
        "src": "./routes.specs.js"
    }
}

Now we need to modify the following task in our gulpfile.js, as shown:

//Test the API of the hapi app
gulp.task(gulpTasksConfig.routes.name, () => {
    return gulp.src(gulpTasksConfig.routes.src).pipe(mochaPlugin({ reporter: 'spec' }))
});

gulp.task(gulpTasksConfig...