尝试 babel JavaScript 或 TypeScript 文件以在 Node 环境中使用

Trying to babel either JavaScript OR TypeScript files for use in Node environment

我们的节点环境要求我们的 JavaScript 文件被 babeled。这很简单。

困难的部分是我们有 .js, .jsx, .ts, .tsx 个文件,这不会改变。

我能做些什么来将 TypeScript 文件转换成 JavaScript,然后让所有 .js/.jsx 文件都通过 babel?

我当前的命令:

nodemon app.js --exec babel-node --presets env,stage-2,react

我知道我需要在某处转换 TypeScript。

有什么想法吗?

节点版本:8.11.1

在 babel 7 中你可以使用 typescript preset。你仍然需要打字稿来做实际的类型检查,只是编译到 js 现在将由 babel 完成。

简单的设置可能如下所示:

  1. npm install --save-dev @babel/preset-typescript

也将工具链的其余部分更新到 babel 7(例如,babel-cli@babel/cli @babel/corebabel-preset-env@babel/preset-env 等)

  1. "noEmit": true 添加到您的 tsconfig.json。这确保打字稿只做类型检查,不输出 js。

  2. --extensions '.js,.jsx,.ts,.tsx' 添加到您的命令中。

所以你的命令变成:

nodemon app.js --exec babel-node --presets @babel/env,@babel/stage-2,@babel/react,@babel/typescript --extensions '.js,.jsx,.ts,.tsx'