轻松搭建一个nodejs typescript开发环境

395 阅读1分钟

前言

在写nestjs时它是支持ts的,用起来很舒服,它使用了ts-node运行TypeScript,但是它还是需要配置下才可以使用。

今天介绍个简单好用的在nodejs端运行TypeScript代码库tsx, 它几乎不需要配置,就可以在nodejs里跑ts代码, 需要注意的是它不会将ts文件编译成js,只是支持在nodejs中运行ts, 虽然名字叫tsx,但是和react/vue里面的.tsx没有关系,只不过是遵循.jsx和.tsx文件中JSX的配置

开始使用

安装

$ npm install -D tsx

使用

1、只需要运行个简单的命令就可以在nodejs里跑ts文件

$ npx tsx index.ts

2、也可以配置在scripts中直接使用npm run start

// package.json
{
    "scripts": {
        "start": "tsx index.ts"
    }
}

3、当然也可以使用watch模式来监听文件变化这样就不用每次执行命令了

npx tsx watch index.ts

集成VS Code

tsx支持集成vs code 来进行调试,在项目中创建启动配置文件.vscode/launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Debug with TSX",
      "runtimeExecutable": "npx",
      "runtimeArgs": [
        "tsx",
        "index.ts"
      ],
      "skipFiles": [
        "<node_internals>/**"
      ],
      "sourceMaps": true,
      "resolveSourceMapLocations": [
        "${workspaceFolder}/**",
        "!**/node_modules/**"
      ],
      "outFiles": [
        "${workspaceFolder}/**/*.js"
      ]
    }
  ]
}

配置好之后直接使用vs code 调试功能就可以了 如下图

image.png

关于编译

不可以在线上环境上直接使用tsx运行ts文件,性能和安全性都无法保证,到线上还是需要把ts转成js运行

这时需要tsx作者开发的另一个库pkgroll了 这个库用起来也很容易,直接在package.json中配置下编译后的文件存放位置等就可以了,具体可以看官网