2025-03-28
2755
#node#typescript
Aman Mittal
22050
116
Mar 28, 2025 β‹… 9 min read

How to set up TypeScript with Node.js and Express

Aman Mittal πŸ‘¨β€πŸ’» Developer πŸ‘‰ Node.js, React, React Native | Tech Blogger with 1M+ views on Medium

Recent posts:

angular vs react

Angular vs. React: Which one should you choose?

Explore the key differences between Angular and React, their strengths, and use cases to help developers decide which option to choose.

Oscar Jite-Orimiono
Apr 2, 2025 β‹… 5 min read
axios in javascript

Axios in JavaScript: How to make GET, POST, PUT and DELETE requests

Learn how to use Axios in JavaScript for GET, POST, PUT & DELETE requests. Examine setup, error handling, and API best practices.

Faraz Kelhini
Apr 1, 2025 β‹… 19 min read
how AI is shaping the future of 3D web development

How AI is shaping the future of 3D web development

AI for 3D web development is taking the internet by storm. Learn about this trend, the best tools for 3D web experiences, and how it’ll affect the development landscape moving forward.

Elijah Asaolu
Apr 1, 2025 β‹… 5 min read
docker exit code 1

How to troubleshoot exit code 1 in Docker

exit code 1 is one of the most common and frustrating errors for developers working in Docker. Explore what it means and how to fix it.

Ukeje Goodness
Apr 1, 2025 β‹… 4 min read
View all posts

46 Replies to "How to set up TypeScript with Node.js and Express"

  1. What’s the best command setup for deploying and running something like this in production? There are now compiled JS files in build/, but other files (e.g., package.json, static HTML, etc.) are all in their original locations. And, we haven’t created a script in package.json to run the built app.

  2. okayy,, then how can i use other plugin to work with my express typescript. am i should install plugin that support in typescript or not ?

  3. Choose any middleware you need, but make sure DefinitelyTyped has the corresponding Typescript @types/* mappings available. Most popular NodeJS middleware packages are supported in the DefinitelyTyped project.

    1. Hey, if you are running localhost, you do not require “https” until you want to intentionally use HTTPS.

    1. In the article above, the “outDir” is referring to the config option. The “./dist” is the value.

      Are you referring to something specific? Can you please point me to that?

    1. The `main` poperty in the `package.json` indicates the entry point and it should point out to Javascript compiled output. So it should be “main”:”dist/index.js” as we are using typescript here, if it was just just Javascript we can just use the index.js.

      1. Thanks. Ok just so everyone is 100% clear. package.json should be changed to:
        “main”: “dist/index.js”,

  4. Excellent tutorial! One minor note is that the protocol should not be `https` since express is not secure by default, e.g, this line should be changed to just `http` — `console.log(`⚑️[server]: Server is running at http://localhost:${port}`)`

  5. had to remove “module”: “commonjs” from tsconfig.js as the error “ReferenceError: exports is not defined in ES module scope”

  6. anyone has a sample github repo for this? please include an example repo so we know where to place the files at. im guessing all the files should be in an dist folder?

  7. This is an excellent article that helped me complete what I sought out to do. I have one suggestion, where there is a suggestion to update nodemon.json with this script:
    {
    “watch”: [“src”],
    “ext”: “ts”,
    “exec”: “concurrently \”npx tsc –watch\” \”ts-node src/index.ts\””
    },
    I would have found it helpful to add a comment about installing concurrently. It was suggested earlier in the article but not in the same general vicinity of the nodemon.json change.

  8. Right after Running TypeScript in Node with ts-node
    if you face errors modules not found like dotenv or express you need to install again them and add to types: npm install dotenv; npm install @types/dotenv –save-dev and
    npm install express; npm install @types/express –safe-dev

  9. Supplement:
    Update nodemon.json for alias path as follows:
    “exec”: “concurrently \”npx tsc –watch\” \”ts-node -r tsconfig-paths/register src/index.ts\””

    1. Hey there! David supplied an explanation for this above. Take a look, and let us know if you have any questions.

  10. Hi, i have an error with the line “exec”: “concurrently \”tsc –watch \” \”ts-node src/index.ts\”” in the nodemon.json file, when remove this line the comand “pnpm dev” running successfully but when this line is present, catch the error “Cannot find module”

    1. Hello! I asked David about this, and he said this is usually caused by packages whose type definitions are not included in the base package and must be installed separately. Most packages include their type definitions by default, so you’re likely using an older version of those packages. Best of luck!

Leave a Reply