Modern Frontend Development with Node.js

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Enhance your web development projects by fully leveraging Node.js concepts, tools, and best practices at frontend Key Features Discover the internals of Node.js, focusing on frontend web development Explore the npm frontend ecosystem, including its tooling, usage, and development processes Learn about key web development concepts such as monorepos or publishing libraries Book Description Almost a decade after the release of Node.js, the tooling used by frontend developers is fully embracing this cross-platform JavaScript runtime, which is sadly often limited to server-side web development. This is where this Node.js book comes in, showing you what this popular runtime has to offer and how you can unlock its full potential to create frontend-focused web apps. You'll begin by learning the basics and internals of Node.js, before discovering how to divide your code into modules and packages. Next, you'll get to grips with the most popular package managers and their uses and find out how to use TypeScript and other JavaScript variants with Node.js. Knowing which tool to use when is crucial, so this book helps you understand all the available state-of-the-art tools in Node.js. You'll interact with linters such as ESLint and formatters such as Prettier. As you advance, you'll become well-versed with the Swiss Army Knife for frontend developers – the bundler. You'll also explore various testing utilities, such as Jest, for code quality verification. Finally, you'll be able to publish your code in reusable packages with ease. By the end of this web development book, you'll have gained the knowledge to confidently choose the right code structure for your repositories with all that you've learned about monorepos. What you will learn Develop a frontend application with Node.js-based tools and libraries Use bundlers such as webpack or Vite to create efficient web applications Leverage test runners such as Jest to ship reliable software Organize code repositories to work in close collaboration with other developers and teams Find out how to publish npm packages to simplify code reuse Improve code quality by enabling consistent formatting using Prettier Who this book is for This book is for junior and intermediate-level frontend web developers who are looking to leverage the Node.js ecosystem for building frontend solutions. The book requires beginner-level knowledge of JavaScript, HTML, and CSS. Prior experience in using a standard shell (sh) will be beneficial. Table of Contents Learning about the Internals of Node.js Dividing Code into Modules and Packages Choosing a Package Manager Using Different Flavors of JavaScript Enhancing Code Quality with Linters and Formatters Building Web Apps with Bundlers Improving Reliability with Testing Tools Publishing npm Packages Structuring Code in Monorepos Integrating Native Code with WebAssembly Using Alternative Runtimes

Author(s): Florian Rappl
Publisher: Packt
Year: 2022

Language: English
Pages: 209

Cover
Title Page
Copyright
Dedication
Contributors
Table of Contents
Preface
Part 1: Node.js Fundamentals
Chapter 1: Learning about the Internals of Node.js
Technical requirements
Looking at the Node.js architecture in detail
Understanding the event loop
Using Node.js from the command line
CommonJS
Summary
Chapter 2: Dividing Code into Modules and Packages
Technical requirements
Using the ESM standard
Learning the AMD specification
Being universal with UMD
Understanding SystemJS and import maps
Knowing package.json fundamentals
Summary
Chapter 3: Choosing a Package Manager
Technical Requirements
Using npm
Using Yarn
Using pnpm
More alternatives
Summary
Part 2: Tooling
Chapter 4: Using Different Flavors of JavaScript
Technical requirements
Integrating Babel
Using Flow
Using TypeScript
Summary
Chapter 5: Enhancing Code Quality with Linters and Formatters
Technical requirements
Understanding auxiliary tooling
Using ESLint and alternatives
Introducing Stylelint
Setting up Prettier and EditorConfig
Summary
Chapter 6: Building Web Apps with Bundlers
Technical requirements
Understanding bundlers
Comparing available bundlers
Using Webpack
Using esbuild
Using Parcel
Using Vite
Summary
Chapter 7: Improving Reliability with Testing Tools
Technical requirements
Considering the testing pyramid
Comparing test runners versus frameworks
Using the Jest framework
Using the Mocha framework
Using the AVA test runner
Using Playwright for visual tests
Using Cypress for end-to-end testing
Summary
Part 3: Advanced Topics
Chapter 8: Publishing npm Packages
Technical requirements
Publishing to the official registry
Selecting another npm registry via .npmrc
Setting up Verdaccio
Writing isomorphic libraries
Publishing a cross-platform tool
Summary
Chapter 9: Structuring Code in Monorepos
Technical requirements
Understanding monorepos
Using workspaces to implement monorepos
Working with Lerna to manage monorepos
Working with Rush for larger repositories
Integrating Turborepo instead of or with Lerna
Managing a monorepo with Nx to enhance Lerna
Summary
Chapter 10: Integrating Native Code with WebAssembly
Technical requirements
Advantages of using WebAssembly
Running WASM in Node.js
Writing WASM with AssemblyScript
Summary
Chapter 11: Using Alternative Runtimes
Technical requirements
Exploring the Deno runtime
Using Bun for bundling web apps
Summary
Epilogue
Index
About Packt
Other Books You May Enjoy