KoaJS is a minimal and flexible NodeJS web application framework. It provides a good set of features for building web and mobile applications. In this post, we will be getting started with KoaJS by creating a small application.

1 – What is KoaJS?

KoaJS is an open source framework. It is developed and maintained by the creators of the extremely popular ExpressJS.

However, the design philosophy behind KoaJS was completely different from Express. Koa provides a minimal interface to build applications. It is a very small framework, which provides the bare minimum tools to build apps.

The core framework is only around 600 lines of code. Nevertheless, we can expand the features by using numerous npm modules for KoaJS.

2 – Installation of KoaJS

KoaJS requires Node version 7 or above. This enables it to work with ES2015 and async function support.

To get started with KoaJS, we can simply create a project folder and execute the below commands.

$ mkdir koa-app
$ cd koa-app
$ npm init -y
$ npm install --save koa

Basically, we create a directory and initialize a npm project. Then, we use npm to install koa.

3 – Creating the first KoaJS Application

Now that our project is ready, we can create our first KoaJS application.

See below example:

const koa = require('koa');
const app = new koa();

app.use(async ctx => {
   ctx.body = 'Hello, World';

app.listen(3000, function(){
   console.log('Server running on https://localhost:3000')

A KoaJS application is an object containing an array of middleware functions. These middleware functions are composed and executed in a stack-like manner upon request.

Let us understand how the above program works:

  • As a first step, we import Koa into our project file. After importing, we get access to the KoaJS API through the variable koa.
  • Using the koa variable, we create an application using new keyword and assign it to the variable app.
  • Next, we have the app.use() function. Basically, this function is a middleware. This function takes a callback function as input. Also, the callback function gets access to the Koa application context known as ctx. Basically, we can use this context to access and modify the request and response objects.
  • Within the function, we are setting the body of the response to a simple greeting message.
  • Lastly, we call the app.listen() method. This method is also part of the KoaJS API. It binds and listens for connections on port 3000. Also, we provide a callback function if the app starts up successfully.

Once we start the application using node index.js and visit http://localhost:3000, we will be able to see the greeting message in the browser.


KoaJS is a much simpler alternative to web frameworks such as ExpressJS. In this post, we have successfully looked at the step-by-step approach of getting started with KoaJS.

Want to learn more about KoaJS? Check out this post on creating Koa JS Router using koa-router.

Want to learn more NodeJS frameworks? Check out this post about introduction to Fastify.

If you have any comments or queries about this post, please feel free to mention them in the comments section below.

Categories: BlogKoaJS

Saurabh Dashora

Saurabh is a Software Architect with over 12 years of experience. He has worked on large-scale distributed systems across various domains and organizations. He is also a passionate Technical Writer and loves sharing knowledge in the community.


Leave a Reply

Your email address will not be published. Required fields are marked *