Node.js Project Setup: Using TypeScript or Plain JavaScript

Node.js Project Setup: Using TypeScript or Plain JavaScript

Node.js has become one of the most popular runtime environments for building server-side applications. Its non-blocking, event-driven architecture makes it ideal for building scalable and high-performance applications. Whether you're a beginner or an experienced developer, starting a new Node.js project can be exciting. In this article, we'll walk through how to set up a Node.js project with TypeScript and without TypeScript.


1. Setting Up a Node.js Project Without TypeScript

If you're new to Node.js or prefer to keep things simple, starting a project without TypeScript is a great way to get going. Here's how you can do it:

Step 1: Initialize the Project

First, ensure you have Node.js installed on your machine. You can check by running:

node -v
npm -v

Create a new directory for your project and navigate into it:

mkdir my-nodejs-project
cd my-nodejs-project

Initialize a new Node.js project using npm:

npm init -y

This will create a package.json file with default settings.

Step 2: Install Dependencies

For a basic Node.js project, you might not need any additional dependencies. However, if you plan to use a framework like Express.js, install it:

npm install express

Step 3: Create Your First File

Create a file named index.js in the root of your project:

touch index.js

Add the following code to create a simple HTTP server:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello, World!');
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});

Step 4: Run the Project

Start your server by running:

node index.js

Visit http://localhost:3000 in your browser, and you should see "Hello, World!" displayed.


2. Setting Up a Node.js Project With TypeScript

TypeScript is a superset of JavaScript that adds static typing, making your code more robust and easier to maintain. If you're starting a new Node.js project and want to use TypeScript, follow these steps:

Step 1: Initialize the Project

Create a new directory and navigate into it:

mkdir my-typescript-project
cd my-typescript-project

Initialize a new Node.js project:

npm init -y

Step 2: Install TypeScript and Required Dependencies

Install TypeScript and the Node.js types as development dependencies:

npm install --save-dev typescript @types/node

Initialize a TypeScript configuration file:

npx tsc --init

This will generate a tsconfig.json file. You can customize it as needed, but the default settings are a good starting point.

Step 3: Set Up Your Project Structure

Create a src directory to store your TypeScript files:

mkdir src

Inside the src directory, create an index.ts file:

touch src/index.ts

Add the following code to create a simple HTTP server using Express:

import express, { Request, Response } from 'express';

const app = express();
const port = 3000;

app.get('/', (req: Request, res: Response) => {
  res.send('Hello, TypeScript!');
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});

Step 4: Compile and Run the Project

To compile the TypeScript code into JavaScript, run:

npx tsc

This will generate a dist directory containing the compiled JavaScript files.

Run the compiled JavaScript file:

node dist/index.js

Visit http://localhost:3000 in your browser, and you should see "Hello, TypeScript!" displayed.

Step 5: Automate the Build and Run Process

To make development easier, you can use ts-node to run TypeScript files directly without manually compiling them:

npm install --save-dev ts-node

Add a script to your package.json to run the project:

"scripts": {
  "start": "ts-node src/index.ts"
}

Now, you can start your server by running:

npm start

3. Choosing Between TypeScript and Plain JavaScript

When to Use Plain JavaScript

  • You're new to Node.js and want to keep things simple.

  • Your project is small and doesn't require complex type-checking.

  • You prefer the flexibility of dynamic typing.

When to Use TypeScript

  • You're working on a large or complex project where type safety is important.

  • You want better tooling support, such as autocompletion and refactoring.

  • You're collaborating with a team and want to reduce runtime errors.


Conclusion

Starting a Node.js project is straightforward, whether you choose to use TypeScript or stick with plain JavaScript. For beginners, plain JavaScript is a great way to get started quickly. However, as your projects grow in complexity, TypeScript can provide significant benefits in terms of maintainability and error prevention.

By following the steps outlined in this article, you'll be well on your way to building your next Node.js application, with or without TypeScript. Happy coding! 🚀