尝试将用于在Node环境中使用的JavaScript或TypeScript文件分离

时间:2018-05-03 18:54:45

标签: javascript node.js typescript babeljs tsc

我们的节点环境要求我们的JavaScript文件被禁用。这很容易。

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

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

我目前的命令:

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

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

有什么想法吗?

节点版本:8.11.1

1 个答案:

答案 0 :(得分:2)

使用babel 7,您可以使用typescript preset。你仍然需要打字稿来进行实际的类型检查,现在只需要编译为js就可以完成。

这里有一个简单的设置:

  1. npm install --save-dev @babel/preset-typescript
  2. 将工具链的其余部分更新为babel 7(例如babel-cli@babel/cli @babel/corebabel-preset-env@babel/preset-env等。)

    1. "noEmit": true添加到您的tsconfig.json。这确保了typescript只进行类型检查,并且不输出js。

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

    3. 所以你的命令变为:

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