ts-node lets you run TypeScript code directly without first turning it into JavaScript. This saves time and makes testing easier.
Running TypeScript with ts-node
ts-node [options] <file.ts>
You run ts-node from the command line followed by the TypeScript file name.
Make sure you have ts-node installed globally or in your project.
script.ts directly.ts-node script.ts
script.ts faster by skipping type checks.ts-node --transpile-only script.ts
script.ts using settings from a specific tsconfig.json file.ts-node --project tsconfig.json script.ts
This simple program prints a message to the console. You can run it with ts-node to see the output immediately.
console.log('Hello from TypeScript!');
Install ts-node using npm install -g ts-node or npm install --save-dev ts-node.
ts-node uses your tsconfig.json file if present to understand TypeScript settings.
For faster runs during development, use the --transpile-only option to skip type checking.
ts-node runs TypeScript files directly without compiling first.
It is useful for quick testing, scripting, and development.
Use command line options to customize how ts-node runs your code.
Practice
ts-node when working with TypeScript?Solution
Step 1: Understand what ts-node does
ts-node allows running TypeScript files directly without a separate compilation step.Step 2: Compare options
The other options describe unrelated tasks like compiling only, converting JS to TS, or debugging JS.Final Answer:
To run TypeScript files directly without compiling them first -> Option DQuick Check:
ts-node runs TS files directly = A [OK]
- Thinking ts-node only compiles without running
- Confusing ts-node with JavaScript debuggers
- Assuming ts-node converts JS to TS
app.ts using ts-node?Solution
Step 1: Identify the correct file extension for ts-node
ts-node runs TypeScript files, so the file must have a .ts extension.Step 2: Check the commands
ts-node app.ts uses ts-node with the correct .ts file. ts-node app.js uses .js file which is incorrect. node app.ts uses node which cannot run .ts files directly. tsc app.ts runs the compiler but does not execute.Final Answer:
ts-node app.ts -> Option AQuick Check:
Run ts-node with .ts file = A [OK]
- Trying to run .js files with ts-node
- Using node to run .ts files directly
- Confusing tsc (compiler) with ts-node (runner)
const greet = (name: string) => `Hello, ${name}!`;
console.log(greet("Alice"));Solution
Step 1: Understand the code behavior
The function greet takes a string and returns a greeting message using template literals.Step 2: Predict the console output
Calling greet("Alice") returns "Hello, Alice!" which is logged to the console.Final Answer:
Hello, Alice! -> Option BQuick Check:
Function returns greeting string = D [OK]
- Expecting a syntax error due to arrow function
- Confusing output with function definition
- Missing the console.log output
ts-node script.ts but get an error: Cannot find module 'typescript'. What is the most likely fix?Solution
Step 1: Understand the error message
The error says TypeScript module is missing, which ts-node needs to run TS files.Step 2: Fix by installing TypeScript
Installing TypeScript with npm adds the required module so ts-node can work.Final Answer:
Install TypeScript using npm install typescript -> Option CQuick Check:
Missing module error = install TypeScript [OK]
- Trying to run node on .ts files directly
- Renaming files without fixing dependencies
- Deleting node_modules without reinstalling
server.ts with ts-node and enable source maps for better debugging. Which command should you use?Solution
Step 1: Identify the correct option for source maps
The official ts-node option to enable source maps is --enable-source-maps.Step 2: Check other options
The other options are incorrect or invalid flags for ts-node.Final Answer:
ts-node --enable-source-maps server.ts -> Option AQuick Check:
Enable source maps flag = --enable-source-maps [OK]
- Using incorrect or non-existent flags
- Confusing debug flag with source maps
- Omitting the flag and missing debugging info
Ready to prove it?
Pass the test and this pattern moves unknown
