If you want to use typescript
with babel-node
, here is how you do it:
install dependencies
npm i -D @babel/core @babel/node @babel/preset-env @babel/preset-typescript typescript
setup npm script
"scripts": { "start": "babel-node -x .ts -- src/app.ts", }
create a babel.config.js
module.exports = { presets: [ '@babel/preset-typescript', [ '@babel/preset-env', { targets: { node: 'current', }, }, ], ], }
create a src/app.ts
, in this example I use koa
import Koa from 'koa' const app = new Koa() // response app.use(ctx => { ctx.body = 'Hello Koa' }) app.listen(3000)
finally npm start
and boom, it just works.
This solution comes in handy when you are tight on memory and you want to avoid ts-node
update: simply use tsx, there is no need to setup anything, just run: npx tsx src/app.ts
Top comments (3)
What's the + / - compared to ts-node?
github.com/TypeStrong/ts-node/issu...
I have this issue when using ts-node, decided to use babel-node instead
Thanks