/node.koa.webpack.starter

A starter project for folks who want to use koa with webpack and typescript

Primary LanguageJavaScriptMIT LicenseMIT

Webpack Starter Project integrated with koa

If you are looking for an express based starter project, you might want to check [https://github.com/wzr1337/node.express.webpack.starter].

Please find a detailled explaination of why I chose to use which component and all the tweaks I had to do on my blog:

http://hack.Muckibu.de

Components

Node JS

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js is mainly used for backend and build chain tasks. For more information, visit (https://nodejs.org/en/)

KoaJS

Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware within core, and provides an elegant suite of methods that make writing servers fast and enjoyable. Find more info on (http://koajs.com/).

WebPack

Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. In this project, we use webpack to transpile and bundle the NodeJS code written in typescript. For more detailed information, look here : (https://webpack.js.org/)

Typescript

TypeScript is a free and open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. (from Wikipedia) For more detailed information, look here : (https://www.typescriptlang.org/)

Development

build

In order, to build the software (once per call), use

$ npm run build

The webpack packager will do the work for you and you will find dist/index.js afterwards.

run

$ node dist/index.js

will run the software for you

(live) reload / watch

To watch the source files, build on demand and run software,

$ npm run watch

is made available.